OpenCores
URL https://opencores.org/ocsvn/usb_nand_reader/usb_nand_reader/trunk

Subversion Repositories usb_nand_reader

[/] [usb_nand_reader/] [trunk/] [mini32/] [MINI32_NAND_Controller.lst] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 pradd
;  LST file generated by mikroListExporter - v.2.0
2
; Date/Time: 17.10.2016 9:31:28
3
;----------------------------------------------
4
 
5
;Address Opcode         ASM
6
____SysVT:
7
0x9FC01180      0x0B401086  J   ___GenExcept
8
0x9FC01184      0x70000000  NOP
9
; end of ____SysVT
10
____BootVT:
11
0xBFC00380      0x3C1E9D00  LUI R30, 40192
12
0xBFC00384      0x37DE4230  ORI R30, R30, 16944
13
0xBFC00388      0x03C00008  JR  R30
14
0xBFC0038C      0x70000000  NOP
15
; end of ____BootVT
16
_main:
17
;main.c, 48 ::          void main(void)
18
0x9D004248      0x27BDFFFC  ADDIU       SP, SP, -4
19
0x9D00424C      0x0F40128F  JAL 2634041916
20
0x9D004250      0x70000000  NOP
21
;main.c, 50 ::          char   hasId = 0;
22
0x9D004254      0x0000F00A  MOVZ        R30, R0, R0
23
0x9D004258      0xA3BE0002  SB  R30, 2(SP)
24
0x9D00425C      0x0000F00A  MOVZ        R30, R0, R0
25
0x9D004260      0xA3BE0003  SB  R30, 3(SP)
26
;main.c, 51 ::          char   hasOnfiParameterPage = 0;
27
;main.c, 53 ::          AD1PCFG = 0xFFFF;
28
0x9D004264      0x3402FFFF  ORI R2, R0, 65535
29
0x9D004268      0x3C1EBF81  LUI R30, 49025
30
0x9D00426C      0xAFC29060  SW  R2, -28576(R30)
31
;main.c, 54 ::          TRISG6_bit = 0;
32
0x9D004270      0x34020040  ORI R2, R0, 0x0040
33
0x9D004274      0x3C1EBF88  LUI R30, 49032
34
0x9D004278      0xA3C26184  SB  R2, 24964(R30)
35
;main.c, 55 ::          LATG6_bit = 0;
36
0x9D00427C      0x34020040  ORI R2, R0, 0x0040
37
0x9D004280      0x3C1EBF88  LUI R30, 49032
38
0x9D004284      0xA3C261A4  SB  R2, 24996(R30)
39
;main.c, 56 ::          TRISD6_bit = 0;
40
0x9D004288      0x34020040  ORI R2, R0, 0x0040
41
0x9D00428C      0x3C1EBF88  LUI R30, 49032
42
0x9D004290      0xA3C260C4  SB  R2, 24772(R30)
43
;main.c, 57 ::          LATD6_bit = 0;
44
0x9D004294      0x34020040  ORI R2, R0, 0x0040
45
0x9D004298      0x3C1EBF88  LUI R30, 49032
46
;main.c, 59 ::          init_nand_data_line();
47
0x9D00429C      0x0F400FEF  JAL _init_nand_data_line+0
48
0x9D0042A0      0xA3C260E4  SB  R2, 24804(R30)
49
;main.c, 60 ::          init_nand_control_line();
50
0x9D0042A4      0x0F401015  JAL _init_nand_control_line+0
51
0x9D0042A8      0x70000000  NOP
52
;main.c, 62 ::          MM_Init();
53
0x9D0042AC      0x0F400E83  JAL _MM_Init+0
54
0x9D0042B0      0x70000000  NOP
55
;main.c, 64 ::          HID_Enable(&readbuff,&writebuff);
56
0x9D0042B4      0x3C1AA000  LUI R26, hi_addr(_writebuff+0)
57
0x9D0042B8      0x375A1FE1  ORI R26, R26, lo_addr(_writebuff+0)
58
0x9D0042BC      0x3C19A000  LUI R25, hi_addr(_readbuff+0)
59
0x9D0042C0      0x0F400EFF  JAL _HID_Enable+0
60
0x9D0042C4      0x37391FA0  ORI R25, R25, lo_addr(_readbuff+0)
61
;main.c, 65 ::          if(U1CON.JSTATE == 0)
62
0x9D0042C8      0x3C1EBF88  LUI R30, 49032
63
0x9D0042CC      0x93C25250  LBU R2, 21072(R30)
64
0x9D0042D0      0x7C4201C0  EXT R2, R2, 7, 1
65
0x9D0042D4      0x1440000D  BNE R2, R0, L_main0
66
0x9D0042D8      0x70000000  NOP
67
L__main61:
68
;main.c, 67 ::          LATG6_bit = 1;
69
0x9D0042DC      0x34020040  ORI R2, R0, 0x0040
70
0x9D0042E0      0x3C1EBF88  LUI R30, 49032
71
0x9D0042E4      0xA3C261A8  SB  R2, 25000(R30)
72
;main.c, 68 ::          Delay_ms(1000);
73
0x9D0042E8      0x3C180196  LUI R24, 406
74
0x9D0042EC      0x3718E6AA  ORI R24, R24, 59050
75
L_main1:
76
0x9D0042F0      0x2718FFFF  ADDIU       R24, R24, -1
77
0x9D0042F4      0x1700FFFE  BNE R24, R0, L_main1
78
0x9D0042F8      0x70000000  NOP
79
;main.c, 69 ::          LATG6_bit = 0;
80
0x9D0042FC      0x34020040  ORI R2, R0, 0x0040
81
0x9D004300      0x3C1EBF88  LUI R30, 49032
82
;main.c, 70 ::          }
83
0x9D004304      0x0B4010CE  J   L_main3
84
0x9D004308      0xA3C261A4  SB  R2, 24996(R30)
85
L_main0:
86
;main.c, 73 ::          LATD6_bit = 1;
87
0x9D00430C      0x34020040  ORI R2, R0, 0x0040
88
0x9D004310      0x3C1EBF88  LUI R30, 49032
89
0x9D004314      0xA3C260E8  SB  R2, 24808(R30)
90
;main.c, 74 ::          Delay_ms(1000);
91
0x9D004318      0x3C180196  LUI R24, 406
92
0x9D00431C      0x3718E6AA  ORI R24, R24, 59050
93
L_main4:
94
0x9D004320      0x2718FFFF  ADDIU       R24, R24, -1
95
0x9D004324      0x1700FFFE  BNE R24, R0, L_main4
96
0x9D004328      0x70000000  NOP
97
;main.c, 75 ::          LATD6_bit = 0;
98
0x9D00432C      0x34020040  ORI R2, R0, 0x0040
99
0x9D004330      0x3C1EBF88  LUI R30, 49032
100
0x9D004334      0xA3C260E4  SB  R2, 24804(R30)
101
;main.c, 76 ::          }
102
L_main3:
103
;main.c, 79 ::          while(1)
104
L_main6:
105
;main.c, 81 ::          USB_Polling_Proc();
106
0x9D004338      0x0F400FE8  JAL _USB_Polling_Proc+0
107
0x9D00433C      0x70000000  NOP
108
;main.c, 83 ::          kk = HID_Read();
109
0x9D004340      0x0F400F7D  JAL _HID_Read+0
110
0x9D004344      0x70000000  NOP
111
0x9D004348      0xA0229FE0  SB  R2, Offset(_kk+0)(GP)
112
;main.c, 84 ::          if(kk != 0)
113
0x9D00434C      0x304200FF  ANDI        R2, R2, 255
114
0x9D004350      0x10400185  BEQ R2, R0, L_main8
115
0x9D004354      0x70000000  NOP
116
L__main63:
117
;main.c, 86 ::          switch(readbuff[0])
118
0x9D004358      0x0B40121C  J   L_main9
119
0x9D00435C      0x70000000  NOP
120
;main.c, 88 ::          case NAND_CHIP_ENABLE:
121
L_main11:
122
;main.c, 89 ::          cmd_chip_enable(readbuff);
123
0x9D004360      0x3C19A000  LUI R25, hi_addr(_readbuff+0)
124
0x9D004364      0x0F400FBC  JAL _cmd_chip_enable+0
125
0x9D004368      0x37391FA0  ORI R25, R25, lo_addr(_readbuff+0)
126
;main.c, 90 ::          CE_ON = 1;
127
0x9D00436C      0x34020040  ORI R2, R0, 0x0040
128
0x9D004370      0x3C1EBF88  LUI R30, 49032
129
;main.c, 91 ::          break;
130
0x9D004374      0x0B40125A  J   L_main10
131
0x9D004378      0xA3C261A8  SB  R2, 25000(R30)
132
;main.c, 93 ::          case NAND_CHIP_DISABLE:
133
L_main12:
134
;main.c, 94 ::          cmd_chip_disable();
135
0x9D00437C      0x0F400FC8  JAL _cmd_chip_disable+0
136
0x9D004380      0x70000000  NOP
137
;main.c, 95 ::          CE_ON = 0;
138
0x9D004384      0x34020040  ORI R2, R0, 0x0040
139
0x9D004388      0x3C1EBF88  LUI R30, 49032
140
;main.c, 96 ::          break;
141
0x9D00438C      0x0B40125A  J   L_main10
142
0x9D004390      0xA3C261A4  SB  R2, 24996(R30)
143
;main.c, 98 ::          case NAND_CHIP_RESET:
144
L_main13:
145
;main.c, 99 ::          DAT_ON = 1;
146
0x9D004394      0x34020040  ORI R2, R0, 0x0040
147
0x9D004398      0x3C1EBF88  LUI R30, 49032
148
;main.c, 100 ::                 cmd_chip_reset();
149
0x9D00439C      0x0F400FCF  JAL _cmd_chip_reset+0
150
0x9D0043A0      0xA3C260E8  SB  R2, 24808(R30)
151
;main.c, 101 ::                 DAT_ON = 0;
152
0x9D0043A4      0x34020040  ORI R2, R0, 0x0040
153
0x9D0043A8      0x3C1EBF88  LUI R30, 49032
154
;main.c, 102 ::                 break;
155
0x9D0043AC      0x0B40125A  J   L_main10
156
0x9D0043B0      0xA3C260E4  SB  R2, 24804(R30)
157
;main.c, 104 ::                 case NAND_CHIP_READ_ID:
158
L_main14:
159
;main.c, 105 ::                 DAT_ON = 1;
160
0x9D0043B4      0x34020040  ORI R2, R0, 0x0040
161
0x9D0043B8      0x3C1EBF88  LUI R30, 49032
162
0x9D0043BC      0xA3C260E8  SB  R2, 24808(R30)
163
;main.c, 106 ::                 cmd_chip_read_id(writebuff, 0);
164
0x9D0043C0      0x0000D00A  MOVZ        R26, R0, R0
165
0x9D0043C4      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
166
0x9D0043C8      0x0F400F8C  JAL _cmd_chip_read_id+0
167
0x9D0043CC      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
168
;main.c, 107 ::                 nandId[0] = writebuff[0];
169
0x9D0043D0      0x90229FE1  LBU R2, Offset(_writebuff+0)(GP)
170
0x9D0043D4      0xA022ABE9  SB  R2, Offset(_nandId+0)(GP)
171
;main.c, 108 ::                 nandId[1] = writebuff[1];
172
0x9D0043D8      0x90229FE2  LBU R2, Offset(_writebuff+1)(GP)
173
0x9D0043DC      0xA022ABEA  SB  R2, Offset(_nandId+1)(GP)
174
;main.c, 109 ::                 nandId[2] = writebuff[2];
175
0x9D0043E0      0x90229FE3  LBU R2, Offset(_writebuff+2)(GP)
176
0x9D0043E4      0xA022ABEB  SB  R2, Offset(_nandId+2)(GP)
177
;main.c, 110 ::                 nandId[3] = writebuff[3];
178
0x9D0043E8      0x90229FE4  LBU R2, Offset(_writebuff+3)(GP)
179
0x9D0043EC      0xA022ABEC  SB  R2, Offset(_nandId+3)(GP)
180
;main.c, 111 ::                 nandId[4] = writebuff[4];
181
0x9D0043F0      0x90229FE5  LBU R2, Offset(_writebuff+4)(GP)
182
0x9D0043F4      0xA022ABED  SB  R2, Offset(_nandId+4)(GP)
183
;main.c, 112 ::                 HID_Write(&writebuff, 64);
184
0x9D0043F8      0x341A0040  ORI R26, R0, 64
185
0x9D0043FC      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
186
0x9D004400      0x0F401059  JAL _HID_Write+0
187
0x9D004404      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
188
;main.c, 113 ::                 hasId = 1;
189
0x9D004408      0x34020001  ORI R2, R0, 1
190
0x9D00440C      0xA3A20002  SB  R2, 2(SP)
191
;main.c, 114 ::                 DAT_ON = 0;
192
0x9D004410      0x34020040  ORI R2, R0, 0x0040
193
0x9D004414      0x3C1EBF88  LUI R30, 49032
194
;main.c, 115 ::                 break;
195
0x9D004418      0x0B40125A  J   L_main10
196
0x9D00441C      0xA3C260E4  SB  R2, 24804(R30)
197
;main.c, 117 ::                 case NAND_CHIP_READ_ID_ONFI:
198
L_main15:
199
;main.c, 118 ::                 DAT_ON = 1;
200
0x9D004420      0x34020040  ORI R2, R0, 0x0040
201
0x9D004424      0x3C1EBF88  LUI R30, 49032
202
0x9D004428      0xA3C260E8  SB  R2, 24808(R30)
203
;main.c, 119 ::                 cmd_chip_read_id(writebuff, 0x20);
204
0x9D00442C      0x341A0020  ORI R26, R0, 32
205
0x9D004430      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
206
0x9D004434      0x0F400F8C  JAL _cmd_chip_read_id+0
207
0x9D004438      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
208
;main.c, 120 ::                 if('O' == writebuff[0] && 'N' == writebuff[1] && 'F' == writebuff[2] && 'I' == writebuff[3])
209
0x9D00443C      0x90239FE1  LBU R3, Offset(_writebuff+0)(GP)
210
0x9D004440      0x3402004F  ORI R2, R0, 79
211
0x9D004444      0x14620014  BNE R3, R2, L__main55
212
0x9D004448      0x70000000  NOP
213
L__main64:
214
0x9D00444C      0x90239FE2  LBU R3, Offset(_writebuff+1)(GP)
215
0x9D004450      0x3402004E  ORI R2, R0, 78
216
0x9D004454      0x14620010  BNE R3, R2, L__main54
217
0x9D004458      0x70000000  NOP
218
L__main65:
219
0x9D00445C      0x90239FE3  LBU R3, Offset(_writebuff+2)(GP)
220
0x9D004460      0x34020046  ORI R2, R0, 70
221
0x9D004464      0x1462000C  BNE R3, R2, L__main53
222
0x9D004468      0x70000000  NOP
223
L__main66:
224
0x9D00446C      0x90239FE4  LBU R3, Offset(_writebuff+3)(GP)
225
0x9D004470      0x34020049  ORI R2, R0, 73
226
0x9D004474      0x14620008  BNE R3, R2, L__main52
227
0x9D004478      0x70000000  NOP
228
L__main67:
229
L__main51:
230
;main.c, 122 ::                 isOnfi = 1;
231
0x9D00447C      0x34020001  ORI R2, R0, 1
232
0x9D004480      0xA0228046  SB  R2, Offset(_isOnfi+0)(GP)
233
;main.c, 123 ::                 onfiParamPage = Malloc(0x100);
234
0x9D004484      0x0F401062  JAL _Malloc+0
235
0x9D004488      0x34190100  ORI R25, R0, 256
236
;main.c, 124 ::                 if(0 == onfiParamPage)
237
0x9D00448C      0x14400002  BNE R2, R0, L_main19
238
0x9D004490      0xAC228048  SW  R2, Offset(_onfiParamPage+0)(GP)
239
L__main68:
240
;main.c, 125 ::                 isOnfi = 0;
241
0x9D004494      0xA0208046  SB  R0, Offset(_isOnfi+0)(GP)
242
L_main19:
243
;main.c, 120 ::                 if('O' == writebuff[0] && 'N' == writebuff[1] && 'F' == writebuff[2] && 'I' == writebuff[3])
244
L__main55:
245
L__main54:
246
L__main53:
247
L__main52:
248
;main.c, 127 ::                 HID_Write(&writebuff, 64);
249
0x9D004498      0x341A0040  ORI R26, R0, 64
250
0x9D00449C      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
251
0x9D0044A0      0x0F401059  JAL _HID_Write+0
252
0x9D0044A4      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
253
;main.c, 128 ::                 DAT_ON = 0;
254
0x9D0044A8      0x34020040  ORI R2, R0, 0x0040
255
0x9D0044AC      0x3C1EBF88  LUI R30, 49032
256
;main.c, 129 ::                 break;
257
0x9D0044B0      0x0B40125A  J   L_main10
258
0x9D0044B4      0xA3C260E4  SB  R2, 24804(R30)
259
;main.c, 131 ::                 case NAND_CHIP_READ_PARAM_PAGE:
260
L_main20:
261
;main.c, 132 ::                 DAT_ON = 1;
262
0x9D0044B8      0x34020040  ORI R2, R0, 0x0040
263
0x9D0044BC      0x3C1EBF88  LUI R30, 49032
264
0x9D0044C0      0xA3C260E8  SB  R2, 24808(R30)
265
;main.c, 133 ::                 if(0 != onfiParamPage)
266
0x9D0044C4      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
267
0x9D0044C8      0x10400030  BEQ R2, R0, L_main21
268
0x9D0044CC      0x70000000  NOP
269
L__main70:
270
;main.c, 136 ::                 cmd_chip_read_param_page(onfiParamPage);
271
0x9D0044D0      0x0F400DB3  JAL _cmd_chip_read_param_page+0
272
0x9D0044D4      0x8C398048  LW  R25, Offset(_onfiParamPage+0)(GP)
273
;main.c, 137 ::                 for(i = 0; i < 4; i++)
274
; i start address is: 20 (R5)
275
0x9D0044D8      0x0000280A  MOVZ        R5, R0, R0
276
; i end address is: 20 (R5)
277
L_main22:
278
; i start address is: 20 (R5)
279
0x9D0044DC      0x7C051620  SEH R2, R5
280
0x9D0044E0      0x28420004  SLTI        R2, R2, 4
281
0x9D0044E4      0x1040001E  BEQ R2, R0, L_main23
282
0x9D0044E8      0x70000000  NOP
283
L__main71:
284
;main.c, 139 ::                 for(j = 0; j < 64; j++)
285
; j start address is: 24 (R6)
286
0x9D0044EC      0x0000300A  MOVZ        R6, R0, R0
287
; j end address is: 24 (R6)
288
; i end address is: 20 (R5)
289
L_main25:
290
; j start address is: 24 (R6)
291
; i start address is: 20 (R5)
292
0x9D0044F0      0x7C061620  SEH R2, R6
293
0x9D0044F4      0x28420040  SLTI        R2, R2, 64
294
0x9D0044F8      0x10400010  BEQ R2, R0, L_main26
295
0x9D0044FC      0x70000000  NOP
296
L__main72:
297
;main.c, 141 ::                 writebuff[j] = onfiParamPage[i * 64 + j];
298
0x9D004500      0x7C061E20  SEH R3, R6
299
0x9D004504      0x3C02A000  LUI R2, hi_addr(_writebuff+0)
300
0x9D004508      0x34421FE1  ORI R2, R2, lo_addr(_writebuff+0)
301
0x9D00450C      0x00432021  ADDU        R4, R2, R3
302
0x9D004510      0x7C051620  SEH R2, R5
303
0x9D004514      0x00021180  SLL R2, R2, 6
304
0x9D004518      0x00461021  ADDU        R2, R2, R6
305
0x9D00451C      0x7C021E20  SEH R3, R2
306
0x9D004520      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
307
0x9D004524      0x00431021  ADDU        R2, R2, R3
308
0x9D004528      0x90420000  LBU R2, 0(R2)
309
0x9D00452C      0xA0820000  SB  R2, 0(R4)
310
;main.c, 139 ::                 for(j = 0; j < 64; j++)
311
0x9D004530      0x24C20001  ADDIU       R2, R6, 1
312
;main.c, 142 ::                 }
313
; j end address is: 24 (R6)
314
0x9D004534      0x0B40113C  J   L_main25
315
0x9D004538      0x7C023620  SEH R6, R2
316
L_main26:
317
;main.c, 143 ::                 HID_Write(&writebuff, 64);
318
0x9D00453C      0xA7A50000  SH  R5, 0(SP)
319
0x9D004540      0x341A0040  ORI R26, R0, 64
320
0x9D004544      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
321
0x9D004548      0x0F401059  JAL _HID_Write+0
322
0x9D00454C      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
323
0x9D004550      0x87A50000  LH  R5, 0(SP)
324
;main.c, 137 ::                 for(i = 0; i < 4; i++)
325
0x9D004554      0x24A20001  ADDIU       R2, R5, 1
326
;main.c, 144 ::                 }
327
; i end address is: 20 (R5)
328
0x9D004558      0x0B401137  J   L_main22
329
0x9D00455C      0x7C022E20  SEH R5, R2
330
L_main23:
331
;main.c, 145 ::                 hasOnfiParameterPage = 1;
332
0x9D004560      0x34020001  ORI R2, R0, 1
333
0x9D004564      0xA3A20003  SB  R2, 3(SP)
334
;main.c, 146 ::                 busWidth = 8 << (onfiParamPage[6] & 1);
335
0x9D004568      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
336
0x9D00456C      0x24420006  ADDIU       R2, R2, 6
337
0x9D004570      0x90420000  LBU R2, 0(R2)
338
0x9D004574      0x30420001  ANDI        R2, R2, 1
339
0x9D004578      0x304300FF  ANDI        R3, R2, 255
340
0x9D00457C      0x34020008  ORI R2, R0, 8
341
0x9D004580      0x00621004  SLLV        R2, R2, R3
342
;main.c, 147 ::                 }
343
0x9D004584      0x0B401168  J   L_main28
344
0x9D004588      0xA4228044  SH  R2, Offset(_busWidth+0)(GP)
345
L_main21:
346
;main.c, 150 ::                 writebuff[0] = 0;
347
0x9D00458C      0xA0209FE1  SB  R0, Offset(_writebuff+0)(GP)
348
;main.c, 151 ::                 HID_Write(&writebuff, 64);
349
0x9D004590      0x341A0040  ORI R26, R0, 64
350
0x9D004594      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
351
0x9D004598      0x0F401059  JAL _HID_Write+0
352
0x9D00459C      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
353
;main.c, 152 ::                 }
354
L_main28:
355
;main.c, 153 ::                 DAT_ON = 0;
356
0x9D0045A0      0x34020040  ORI R2, R0, 0x0040
357
0x9D0045A4      0x3C1EBF88  LUI R30, 49032
358
;main.c, 154 ::                 break;
359
0x9D0045A8      0x0B40125A  J   L_main10
360
0x9D0045AC      0xA3C260E4  SB  R2, 24804(R30)
361
;main.c, 156 ::                 case NAND_CHIP_READ_PAGE:
362
L_main29:
363
;main.c, 158 ::                 if(0 == hasId && 0 == hasOnfiParameterPage)
364
0x9D0045B0      0x93A20002  LBU R2, 2(SP)
365
0x9D0045B4      0x14400008  BNE R2, R0, L__main57
366
0x9D0045B8      0x70000000  NOP
367
L__main73:
368
0x9D0045BC      0x93A20003  LBU R2, 3(SP)
369
0x9D0045C0      0x14400005  BNE R2, R0, L__main56
370
0x9D0045C4      0x70000000  NOP
371
L__main74:
372
L__main50:
373
;main.c, 160 ::                 DAT_ON = 0;
374
0x9D0045C8      0x34020040  ORI R2, R0, 0x0040
375
0x9D0045CC      0x3C1EBF88  LUI R30, 49032
376
;main.c, 161 ::                 break;
377
0x9D0045D0      0x0B40125A  J   L_main10
378
0x9D0045D4      0xA3C260E4  SB  R2, 24804(R30)
379
;main.c, 158 ::                 if(0 == hasId && 0 == hasOnfiParameterPage)
380
L__main57:
381
L__main56:
382
;main.c, 164 ::                 if(hasOnfiParameterPage)
383
0x9D0045D8      0x93A20003  LBU R2, 3(SP)
384
0x9D0045DC      0x10400014  BEQ R2, R0, L_main33
385
0x9D0045E0      0x70000000  NOP
386
L__main76:
387
;main.c, 166 ::                 pageSize = *(unsigned int*)(onfiParamPage + 80) + *(unsigned short*)(onfiParamPage + 84);
388
0x9D0045E4      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
389
0x9D0045E8      0x24420050  ADDIU       R2, R2, 80
390
0x9D0045EC      0x94430000  LHU R3, 0(R2)
391
0x9D0045F0      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
392
0x9D0045F4      0x24420054  ADDIU       R2, R2, 84
393
0x9D0045F8      0x90420000  LBU R2, 0(R2)
394
0x9D0045FC      0x304200FF  ANDI        R2, R2, 255
395
0x9D004600      0x00621021  ADDU        R2, R3, R2
396
0x9D004604      0xA4228042  SH  R2, Offset(_pageSize+0)(GP)
397
;main.c, 167 ::                 addressCycles = (*(onfiParamPage + 101) & 0x0f) + (*(onfiParamPage + 101) >> 4);
398
0x9D004608      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
399
0x9D00460C      0x24420065  ADDIU       R2, R2, 101
400
0x9D004610      0x90420000  LBU R2, 0(R2)
401
0x9D004614      0x3044000F  ANDI        R4, R2, 15
402
0x9D004618      0x304200FF  ANDI        R2, R2, 255
403
0x9D00461C      0x00021102  SRL R2, R2, 4
404
0x9D004620      0x304300FF  ANDI        R3, R2, 255
405
0x9D004624      0x308200FF  ANDI        R2, R4, 255
406
0x9D004628      0x00431021  ADDU        R2, R2, R3
407
0x9D00462C      0xA4228040  SH  R2, Offset(_addressCycles+0)(GP)
408
;main.c, 168 ::                 }
409
L_main33:
410
;main.c, 169 ::                 DAT_ON = 1;
411
0x9D004630      0x34020040  ORI R2, R0, 0x0040
412
0x9D004634      0x3C1EBF88  LUI R30, 49032
413
0x9D004638      0xA3C260E8  SB  R2, 24808(R30)
414
;main.c, 170 ::                 cmd_chip_read_page(readbuff, /*pageBuffer*/ writebuff, pageSize, addressCycles);
415
0x9D00463C      0x843C8040  LH  R28, Offset(_addressCycles+0)(GP)
416
0x9D004640      0x843B8042  LH  R27, Offset(_pageSize+0)(GP)
417
0x9D004644      0x3C1AA000  LUI R26, hi_addr(_writebuff+0)
418
0x9D004648      0x375A1FE1  ORI R26, R26, lo_addr(_writebuff+0)
419
0x9D00464C      0x3C19A000  LUI R25, hi_addr(_readbuff+0)
420
0x9D004650      0x0F400DD1  JAL _cmd_chip_read_page+0
421
0x9D004654      0x37391FA0  ORI R25, R25, lo_addr(_readbuff+0)
422
;main.c, 171 ::                 DAT_ON = 0;
423
0x9D004658      0x34020040  ORI R2, R0, 0x0040
424
0x9D00465C      0x3C1EBF88  LUI R30, 49032
425
;main.c, 172 ::                 break;
426
0x9D004660      0x0B40125A  J   L_main10
427
0x9D004664      0xA3C260E4  SB  R2, 24804(R30)
428
;main.c, 174 ::                 case NAND_SET_CONFIG_DATA:
429
L_main34:
430
;main.c, 175 ::                 DAT_ON = 1;
431
0x9D004668      0x34020040  ORI R2, R0, 0x0040
432
0x9D00466C      0x3C1EBF88  LUI R30, 49032
433
0x9D004670      0xA3C260E8  SB  R2, 24808(R30)
434
;main.c, 176 ::                 pageSize = *(int*)(readbuff + 1);
435
0x9D004674      0x98229FA1  LWR R2, Offset(_readbuff+1)(GP)
436
0x9D004678      0x88229FA4  LWL R2, Offset(_readbuff+4)(GP)
437
0x9D00467C      0xA4228042  SH  R2, Offset(_pageSize+0)(GP)
438
;main.c, 177 ::                 addressCycles = *(readbuff + 5);
439
0x9D004680      0x90229FA5  LBU R2, Offset(_readbuff+5)(GP)
440
0x9D004684      0xA4228040  SH  R2, Offset(_addressCycles+0)(GP)
441
;main.c, 178 ::                 busWidth = *(readbuff + 6);
442
0x9D004688      0x90229FA6  LBU R2, Offset(_readbuff+6)(GP)
443
0x9D00468C      0xA4228044  SH  R2, Offset(_busWidth+0)(GP)
444
;main.c, 179 ::                 DAT_ON = 0;
445
0x9D004690      0x34020040  ORI R2, R0, 0x0040
446
0x9D004694      0x3C1EBF88  LUI R30, 49032
447
;main.c, 180 ::                 break;
448
0x9D004698      0x0B40125A  J   L_main10
449
0x9D00469C      0xA3C260E4  SB  R2, 24804(R30)
450
;main.c, 182 ::                 case NAND_CHIP_READ_CACHE_SEQ:
451
L_main35:
452
;main.c, 184 ::                 if(0 == hasId && 0 == hasOnfiParameterPage)
453
0x9D0046A0      0x93A20002  LBU R2, 2(SP)
454
0x9D0046A4      0x14400008  BNE R2, R0, L__main59
455
0x9D0046A8      0x70000000  NOP
456
L__main77:
457
0x9D0046AC      0x93A20003  LBU R2, 3(SP)
458
0x9D0046B0      0x14400005  BNE R2, R0, L__main58
459
0x9D0046B4      0x70000000  NOP
460
L__main78:
461
L__main49:
462
;main.c, 186 ::                 DAT_ON = 0;
463
0x9D0046B8      0x34020040  ORI R2, R0, 0x0040
464
0x9D0046BC      0x3C1EBF88  LUI R30, 49032
465
;main.c, 187 ::                 break;
466
0x9D0046C0      0x0B40125A  J   L_main10
467
0x9D0046C4      0xA3C260E4  SB  R2, 24804(R30)
468
;main.c, 184 ::                 if(0 == hasId && 0 == hasOnfiParameterPage)
469
L__main59:
470
L__main58:
471
;main.c, 190 ::                 if(hasOnfiParameterPage)
472
0x9D0046C8      0x93A20003  LBU R2, 3(SP)
473
0x9D0046CC      0x10400014  BEQ R2, R0, L_main39
474
0x9D0046D0      0x70000000  NOP
475
L__main80:
476
;main.c, 192 ::                 pageSize = *(unsigned int*)(onfiParamPage + 80) + *(unsigned short*)(onfiParamPage + 84);
477
0x9D0046D4      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
478
0x9D0046D8      0x24420050  ADDIU       R2, R2, 80
479
0x9D0046DC      0x94430000  LHU R3, 0(R2)
480
0x9D0046E0      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
481
0x9D0046E4      0x24420054  ADDIU       R2, R2, 84
482
0x9D0046E8      0x90420000  LBU R2, 0(R2)
483
0x9D0046EC      0x304200FF  ANDI        R2, R2, 255
484
0x9D0046F0      0x00621021  ADDU        R2, R3, R2
485
0x9D0046F4      0xA4228042  SH  R2, Offset(_pageSize+0)(GP)
486
;main.c, 193 ::                 addressCycles = (*(onfiParamPage + 101) & 0x0f) + (*(onfiParamPage + 101) >> 4);
487
0x9D0046F8      0x8C228048  LW  R2, Offset(_onfiParamPage+0)(GP)
488
0x9D0046FC      0x24420065  ADDIU       R2, R2, 101
489
0x9D004700      0x90420000  LBU R2, 0(R2)
490
0x9D004704      0x3044000F  ANDI        R4, R2, 15
491
0x9D004708      0x304200FF  ANDI        R2, R2, 255
492
0x9D00470C      0x00021102  SRL R2, R2, 4
493
0x9D004710      0x304300FF  ANDI        R3, R2, 255
494
0x9D004714      0x308200FF  ANDI        R2, R4, 255
495
0x9D004718      0x00431021  ADDU        R2, R2, R3
496
0x9D00471C      0xA4228040  SH  R2, Offset(_addressCycles+0)(GP)
497
;main.c, 194 ::                 }
498
L_main39:
499
;main.c, 195 ::                 DAT_ON = 1;
500
0x9D004720      0x34020040  ORI R2, R0, 0x0040
501
0x9D004724      0x3C1EBF88  LUI R30, 49032
502
0x9D004728      0xA3C260E8  SB  R2, 24808(R30)
503
;main.c, 196 ::                 if(0 != pageSize)
504
0x9D00472C      0x84228042  LH  R2, Offset(_pageSize+0)(GP)
505
0x9D004730      0x1040000A  BEQ R2, R0, L_main40
506
0x9D004734      0x70000000  NOP
507
L__main82:
508
;main.c, 198 ::                 USB_Polling_Proc();
509
0x9D004738      0x0F400FE8  JAL _USB_Polling_Proc+0
510
0x9D00473C      0x70000000  NOP
511
;main.c, 199 ::                 cmd_chip_read_page_cache_sequential(readbuff, /*pageBuffer*/ writebuff, pageSize, addressCycles);
512
0x9D004740      0x843C8040  LH  R28, Offset(_addressCycles+0)(GP)
513
0x9D004744      0x843B8042  LH  R27, Offset(_pageSize+0)(GP)
514
0x9D004748      0x3C1AA000  LUI R26, hi_addr(_writebuff+0)
515
0x9D00474C      0x375A1FE1  ORI R26, R26, lo_addr(_writebuff+0)
516
0x9D004750      0x3C19A000  LUI R25, hi_addr(_readbuff+0)
517
0x9D004754      0x0F400E21  JAL _cmd_chip_read_page_cache_sequential+0
518
0x9D004758      0x37391FA0  ORI R25, R25, lo_addr(_readbuff+0)
519
;main.c, 200 ::                 }
520
L_main40:
521
;main.c, 201 ::                 DAT_ON = 0;
522
0x9D00475C      0x34020040  ORI R2, R0, 0x0040
523
0x9D004760      0x3C1EBF88  LUI R30, 49032
524
;main.c, 202 ::                 break;
525
0x9D004764      0x0B40125A  J   L_main10
526
0x9D004768      0xA3C260E4  SB  R2, 24804(R30)
527
;main.c, 204 ::                 case NAND_CHIP_READ_STATUS:
528
L_main41:
529
;main.c, 205 ::                 writebuff[0] = cmd_chip_read_status();
530
0x9D00476C      0x0F400EA3  JAL _cmd_chip_read_status+0
531
0x9D004770      0x70000000  NOP
532
0x9D004774      0xA0229FE1  SB  R2, Offset(_writebuff+0)(GP)
533
;main.c, 206 ::                 HID_Write(&writebuff, 64);
534
0x9D004778      0x341A0040  ORI R26, R0, 64
535
0x9D00477C      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
536
0x9D004780      0x0F401059  JAL _HID_Write+0
537
0x9D004784      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
538
;main.c, 207 ::                 break;
539
0x9D004788      0x0B40125A  J   L_main10
540
0x9D00478C      0x70000000  NOP
541
;main.c, 209 ::                 case NAND_CHIP_READ_UNIQUE_ID:
542
L_main42:
543
;main.c, 210 ::                 DAT_ON = 1;
544
0x9D004790      0x34020040  ORI R2, R0, 0x0040
545
0x9D004794      0x3C1EBF88  LUI R30, 49032
546
0x9D004798      0xA3C260E8  SB  R2, 24808(R30)
547
;main.c, 211 ::                 cmd_chip_read_unique_id(writebuff);
548
0x9D00479C      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
549
0x9D0047A0      0x0F400F2D  JAL _cmd_chip_read_unique_id+0
550
0x9D0047A4      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
551
;main.c, 212 ::                 HID_Write(&writebuff, 64);
552
0x9D0047A8      0x341A0040  ORI R26, R0, 64
553
0x9D0047AC      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
554
0x9D0047B0      0x0F401059  JAL _HID_Write+0
555
0x9D0047B4      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
556
;main.c, 213 ::                 DAT_ON = 0;
557
0x9D0047B8      0x34020040  ORI R2, R0, 0x0040
558
0x9D0047BC      0x3C1EBF88  LUI R30, 49032
559
;main.c, 214 ::                 break;
560
0x9D0047C0      0x0B40125A  J   L_main10
561
0x9D0047C4      0xA3C260E4  SB  R2, 24804(R30)
562
;main.c, 216 ::                 case NAND_CHIP_BLOCK_ERASE:
563
L_main43:
564
;main.c, 217 ::                 DAT_ON = 1;
565
0x9D0047C8      0x34020040  ORI R2, R0, 0x0040
566
0x9D0047CC      0x3C1EBF88  LUI R30, 49032
567
0x9D0047D0      0xA3C260E8  SB  R2, 24808(R30)
568
;main.c, 218 ::                 cmd_chip_block_erase(readbuff);
569
0x9D0047D4      0x3C19A000  LUI R25, hi_addr(_readbuff+0)
570
0x9D0047D8      0x0F400F52  JAL _cmd_chip_block_erase+0
571
0x9D0047DC      0x37391FA0  ORI R25, R25, lo_addr(_readbuff+0)
572
;main.c, 219 ::                 DAT_ON = 0;
573
0x9D0047E0      0x34020040  ORI R2, R0, 0x0040
574
0x9D0047E4      0x3C1EBF88  LUI R30, 49032
575
;main.c, 220 ::                 break;
576
0x9D0047E8      0x0B40125A  J   L_main10
577
0x9D0047EC      0xA3C260E4  SB  R2, 24804(R30)
578
;main.c, 222 ::                 case NAND_CHIP_TOGGLE_WP:
579
L_main44:
580
;main.c, 223 ::                 nand_toggle_wp();
581
0x9D0047F0      0x0F400F6B  JAL _nand_toggle_wp+0
582
0x9D0047F4      0x70000000  NOP
583
;main.c, 224 ::                 break;
584
0x9D0047F8      0x0B40125A  J   L_main10
585
0x9D0047FC      0x70000000  NOP
586
;main.c, 226 ::                 case NAND_CHIP_PAGE_PROGRAM:
587
L_main45:
588
;main.c, 227 ::                 DAT_ON = 1;
589
0x9D004800      0x34020040  ORI R2, R0, 0x0040
590
0x9D004804      0x3C1EBF88  LUI R30, 49032
591
0x9D004808      0xA3C260E8  SB  R2, 24808(R30)
592
;main.c, 228 ::                 if(0 != pageSize)
593
0x9D00480C      0x84228042  LH  R2, Offset(_pageSize+0)(GP)
594
0x9D004810      0x10400006  BEQ R2, R0, L_main46
595
0x9D004814      0x70000000  NOP
596
L__main84:
597
;main.c, 229 ::                 cmd_chip_page_program(readbuff, addressCycles, pageSize);
598
0x9D004818      0x843B8042  LH  R27, Offset(_pageSize+0)(GP)
599
0x9D00481C      0x843A8040  LH  R26, Offset(_addressCycles+0)(GP)
600
0x9D004820      0x3C19A000  LUI R25, hi_addr(_readbuff+0)
601
0x9D004824      0x0F400EB5  JAL _cmd_chip_page_program+0
602
0x9D004828      0x37391FA0  ORI R25, R25, lo_addr(_readbuff+0)
603
L_main46:
604
;main.c, 230 ::                 DAT_ON = 0;
605
0x9D00482C      0x34020040  ORI R2, R0, 0x0040
606
0x9D004830      0x3C1EBF88  LUI R30, 49032
607
;main.c, 231 ::                 break;
608
0x9D004834      0x0B40125A  J   L_main10
609
0x9D004838      0xA3C260E4  SB  R2, 24804(R30)
610
;main.c, 233 ::                 case NAND_CHIP_READ_STATUS_ENHANCED:
611
L_main47:
612
;main.c, 234 ::                 writebuff[0] = cmd_chip_read_status_enhanced(readbuff, addressCycles);
613
0x9D00483C      0x843A8040  LH  R26, Offset(_addressCycles+0)(GP)
614
0x9D004840      0x3C19A000  LUI R25, hi_addr(_readbuff+0)
615
0x9D004844      0x0F400F12  JAL _cmd_chip_read_status_enhanced+0
616
0x9D004848      0x37391FA0  ORI R25, R25, lo_addr(_readbuff+0)
617
0x9D00484C      0xA0229FE1  SB  R2, Offset(_writebuff+0)(GP)
618
;main.c, 235 ::                 HID_Write(&writebuff, 64);
619
0x9D004850      0x341A0040  ORI R26, R0, 64
620
0x9D004854      0x3C19A000  LUI R25, hi_addr(_writebuff+0)
621
0x9D004858      0x0F401059  JAL _HID_Write+0
622
0x9D00485C      0x37391FE1  ORI R25, R25, lo_addr(_writebuff+0)
623
;main.c, 236 ::                 break;
624
0x9D004860      0x0B40125A  J   L_main10
625
0x9D004864      0x70000000  NOP
626
;main.c, 238 ::                 default:
627
L_main48:
628
;main.c, 239 ::                 break;
629
0x9D004868      0x0B40125A  J   L_main10
630
0x9D00486C      0x70000000  NOP
631
;main.c, 240 ::                 }
632
L_main9:
633
0x9D004870      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
634
0x9D004874      0x34020001  ORI R2, R0, 1
635
0x9D004878      0x1062FEB9  BEQ R3, R2, L_main11
636
0x9D00487C      0x70000000  NOP
637
L__main86:
638
0x9D004880      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
639
0x9D004884      0x34020002  ORI R2, R0, 2
640
0x9D004888      0x1062FEBC  BEQ R3, R2, L_main12
641
0x9D00488C      0x70000000  NOP
642
L__main88:
643
0x9D004890      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
644
0x9D004894      0x34020003  ORI R2, R0, 3
645
0x9D004898      0x1062FEBE  BEQ R3, R2, L_main13
646
0x9D00489C      0x70000000  NOP
647
L__main90:
648
0x9D0048A0      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
649
0x9D0048A4      0x34020004  ORI R2, R0, 4
650
0x9D0048A8      0x1062FEC2  BEQ R3, R2, L_main14
651
0x9D0048AC      0x70000000  NOP
652
L__main92:
653
0x9D0048B0      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
654
0x9D0048B4      0x34020005  ORI R2, R0, 5
655
0x9D0048B8      0x1062FED9  BEQ R3, R2, L_main15
656
0x9D0048BC      0x70000000  NOP
657
L__main94:
658
0x9D0048C0      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
659
0x9D0048C4      0x34020006  ORI R2, R0, 6
660
0x9D0048C8      0x1062FEFB  BEQ R3, R2, L_main20
661
0x9D0048CC      0x70000000  NOP
662
L__main96:
663
0x9D0048D0      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
664
0x9D0048D4      0x34020007  ORI R2, R0, 7
665
0x9D0048D8      0x1062FF35  BEQ R3, R2, L_main29
666
0x9D0048DC      0x70000000  NOP
667
L__main98:
668
0x9D0048E0      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
669
0x9D0048E4      0x34020008  ORI R2, R0, 8
670
0x9D0048E8      0x1062FF5F  BEQ R3, R2, L_main34
671
0x9D0048EC      0x70000000  NOP
672
L__main100:
673
0x9D0048F0      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
674
0x9D0048F4      0x34020009  ORI R2, R0, 9
675
0x9D0048F8      0x1062FF69  BEQ R3, R2, L_main35
676
0x9D0048FC      0x70000000  NOP
677
L__main102:
678
0x9D004900      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
679
0x9D004904      0x3402000A  ORI R2, R0, 10
680
0x9D004908      0x1062FF98  BEQ R3, R2, L_main41
681
0x9D00490C      0x70000000  NOP
682
L__main104:
683
0x9D004910      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
684
0x9D004914      0x3402000B  ORI R2, R0, 11
685
0x9D004918      0x1062FF9D  BEQ R3, R2, L_main42
686
0x9D00491C      0x70000000  NOP
687
L__main106:
688
0x9D004920      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
689
0x9D004924      0x3402000C  ORI R2, R0, 12
690
0x9D004928      0x1062FFA7  BEQ R3, R2, L_main43
691
0x9D00492C      0x70000000  NOP
692
L__main108:
693
0x9D004930      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
694
0x9D004934      0x3402000D  ORI R2, R0, 13
695
0x9D004938      0x1062FFAD  BEQ R3, R2, L_main44
696
0x9D00493C      0x70000000  NOP
697
L__main110:
698
0x9D004940      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
699
0x9D004944      0x3402000E  ORI R2, R0, 14
700
0x9D004948      0x1062FFAD  BEQ R3, R2, L_main45
701
0x9D00494C      0x70000000  NOP
702
L__main112:
703
0x9D004950      0x90239FA0  LBU R3, Offset(_readbuff+0)(GP)
704
0x9D004954      0x3402000F  ORI R2, R0, 15
705
0x9D004958      0x1062FFB8  BEQ R3, R2, L_main47
706
0x9D00495C      0x70000000  NOP
707
L__main114:
708
0x9D004960      0x0B40121A  J   L_main48
709
0x9D004964      0x70000000  NOP
710
L_main10:
711
;main.c, 241 ::                 }
712
L_main8:
713
;main.c, 242 ::                 }
714
0x9D004968      0x0B4010CE  J   L_main6
715
0x9D00496C      0x70000000  NOP
716
;main.c, 259 ::                 }
717
L_end_main:
718
L__main_end_loop:
719
0x9D004970      0x0B40125C  J   L__main_end_loop
720
0x9D004974      0x70000000  NOP
721
; end of _main
722
___CC2DW:
723
;__Lib_System.c, 4 ::
724
0x9D003F80      0x27BDFFFC  ADDIU       SP, SP, -4
725
;__Lib_System.c, 6 ::
726
L_loopDW:
727
;__Lib_System.c, 7 ::
728
0x9D003F84      0x831E0000  LB  R30, 0(R24)
729
;__Lib_System.c, 8 ::
730
0x9D003F88      0xA2FE0000  SB  R30, 0(R23)
731
;__Lib_System.c, 9 ::
732
0x9D003F8C      0x26F70001  ADDIU       R23, R23, 1
733
;__Lib_System.c, 10 ::
734
0x9D003F90      0x16F6FFFC  BNE R23, R22, L_loopDW
735
;__Lib_System.c, 11 ::
736
0x9D003F94      0x27180001  ADDIU       R24, R24, 1
737
;__Lib_System.c, 13 ::
738
L_end___CC2DW:
739
0x9D003F98      0x03E00008  JR  RA
740
0x9D003F9C      0x27BD0004  ADDIU       SP, SP, 4
741
; end of ___CC2DW
742
_init_nand_data_line:
743
;NandDataLine.c, 15 ::          void init_nand_data_line()
744
;NandDataLine.c, 17 ::          TRISE = 0;
745
0x9D003FBC      0x3C1EBF88  LUI R30, 49032
746
0x9D003FC0      0xAFC06100  SW  R0, 24832(R30)
747
;NandDataLine.c, 18 ::          TRISF = 0;
748
0x9D003FC4      0x3C1EBF88  LUI R30, 49032
749
0x9D003FC8      0xAFC06140  SW  R0, 24896(R30)
750
;NandDataLine.c, 19 ::          TRISG = 0;
751
0x9D003FCC      0x3C1EBF88  LUI R30, 49032
752
0x9D003FD0      0xAFC06180  SW  R0, 24960(R30)
753
;NandDataLine.c, 21 ::          LATE = 0;
754
0x9D003FD4      0x3C1EBF88  LUI R30, 49032
755
0x9D003FD8      0xAFC06120  SW  R0, 24864(R30)
756
;NandDataLine.c, 22 ::          LATF = 0;
757
0x9D003FDC      0x3C1EBF88  LUI R30, 49032
758
0x9D003FE0      0xAFC06160  SW  R0, 24928(R30)
759
;NandDataLine.c, 23 ::          LATG = 0;
760
0x9D003FE4      0x3C1EBF88  LUI R30, 49032
761
0x9D003FE8      0xAFC061A0  SW  R0, 24992(R30)
762
;NandDataLine.c, 25 ::          nand_b0 = 0;
763
0x9D003FEC      0x34020004  ORI R2, R0, 0x0004
764
0x9D003FF0      0x3C1EBF88  LUI R30, 49032
765
0x9D003FF4      0xA3C26124  SB  R2, 24868(R30)
766
;NandDataLine.c, 26 ::          nand_b1 = 0;
767
0x9D003FF8      0x34020008  ORI R2, R0, 0x0008
768
0x9D003FFC      0x3C1EBF88  LUI R30, 49032
769
0x9D004000      0xA3C26124  SB  R2, 24868(R30)
770
;NandDataLine.c, 27 ::          nand_b2 = 0;
771
0x9D004004      0x34020080  ORI R2, R0, 0x0080
772
0x9D004008      0x3C1EBF88  LUI R30, 49032
773
0x9D00400C      0xA3C261A4  SB  R2, 24996(R30)
774
;NandDataLine.c, 28 ::          nand_b3 = 0;
775
0x9D004010      0x34020001  ORI R2, R0, 0x0001
776
0x9D004014      0x3C1EBF88  LUI R30, 49032
777
0x9D004018      0xA3C261A5  SB  R2, 24997(R30)
778
;NandDataLine.c, 29 ::          nand_b4 = 0;
779
0x9D00401C      0x34020020  ORI R2, R0, 0x0020
780
0x9D004020      0x3C1EBF88  LUI R30, 49032
781
0x9D004024      0xA3C26164  SB  R2, 24932(R30)
782
;NandDataLine.c, 30 ::          nand_b5 = 0;
783
0x9D004028      0x34020010  ORI R2, R0, 0x0010
784
0x9D00402C      0x3C1EBF88  LUI R30, 49032
785
0x9D004030      0xA3C26164  SB  R2, 24932(R30)
786
;NandDataLine.c, 31 ::          nand_b6 = 0;
787
0x9D004034      0x34020010  ORI R2, R0, 0x0010
788
0x9D004038      0x3C1EBF88  LUI R30, 49032
789
0x9D00403C      0xA3C26124  SB  R2, 24868(R30)
790
;NandDataLine.c, 32 ::          nand_b7 = 0;
791
0x9D004040      0x34020020  ORI R2, R0, 0x0020
792
0x9D004044      0x3C1EBF88  LUI R30, 49032
793
0x9D004048      0xA3C26124  SB  R2, 24868(R30)
794
;NandDataLine.c, 33 ::          }
795
L_end_init_nand_data_line:
796
0x9D00404C      0x03E00008  JR  RA
797
0x9D004050      0x70000000  NOP
798
; end of _init_nand_data_line
799
_init_nand_control_line:
800
;NandControl.c, 27 ::           void init_nand_control_line()
801
;NandControl.c, 29 ::           TRISB0_bit = 1;
802
0x9D004054      0x34020001  ORI R2, R0, 0x0001
803
0x9D004058      0x3C1EBF88  LUI R30, 49032
804
0x9D00405C      0xA3C26048  SB  R2, 24648(R30)
805
;NandControl.c, 30 ::           TRISD11_bit = 1;
806
0x9D004060      0x34020008  ORI R2, R0, 0x0008
807
0x9D004064      0x3C1EBF88  LUI R30, 49032
808
0x9D004068      0xA3C260C9  SB  R2, 24777(R30)
809
;NandControl.c, 31 ::           TRISB9_bit = 1;
810
0x9D00406C      0x34020002  ORI R2, R0, 0x0002
811
0x9D004070      0x3C1EBF88  LUI R30, 49032
812
0x9D004074      0xA3C26049  SB  R2, 24649(R30)
813
;NandControl.c, 32 ::           TRISD5_bit = 1;
814
0x9D004078      0x34020020  ORI R2, R0, 0x0020
815
0x9D00407C      0x3C1EBF88  LUI R30, 49032
816
0x9D004080      0xA3C260C8  SB  R2, 24776(R30)
817
;NandControl.c, 34 ::           TRISB14_bit = 0;
818
0x9D004084      0x34020040  ORI R2, R0, 0x0040
819
0x9D004088      0x3C1EBF88  LUI R30, 49032
820
0x9D00408C      0xA3C26045  SB  R2, 24645(R30)
821
;NandControl.c, 35 ::           TRISF0_bit = 0;
822
0x9D004090      0x34020001  ORI R2, R0, 0x0001
823
0x9D004094      0x3C1EBF88  LUI R30, 49032
824
0x9D004098      0xA3C26144  SB  R2, 24900(R30)
825
;NandControl.c, 36 ::           TRISF1_bit = 0;
826
0x9D00409C      0x34020002  ORI R2, R0, 0x0002
827
0x9D0040A0      0x3C1EBF88  LUI R30, 49032
828
0x9D0040A4      0xA3C26144  SB  R2, 24900(R30)
829
;NandControl.c, 37 ::           TRISB8_bit = 0;
830
0x9D0040A8      0x34020001  ORI R2, R0, 0x0001
831
0x9D0040AC      0x3C1EBF88  LUI R30, 49032
832
0x9D0040B0      0xA3C26045  SB  R2, 24645(R30)
833
;NandControl.c, 39 ::           TRISD4_bit = 0;
834
0x9D0040B4      0x34020010  ORI R2, R0, 0x0010
835
0x9D0040B8      0x3C1EBF88  LUI R30, 49032
836
0x9D0040BC      0xA3C260C4  SB  R2, 24772(R30)
837
;NandControl.c, 40 ::           TRISB15_bit = 0;
838
0x9D0040C0      0x34020080  ORI R2, R0, 0x0080
839
0x9D0040C4      0x3C1EBF88  LUI R30, 49032
840
0x9D0040C8      0xA3C26045  SB  R2, 24645(R30)
841
;NandControl.c, 41 ::           TRISD0_bit = 0;
842
0x9D0040CC      0x34020001  ORI R2, R0, 0x0001
843
0x9D0040D0      0x3C1EBF88  LUI R30, 49032
844
0x9D0040D4      0xA3C260C4  SB  R2, 24772(R30)
845
;NandControl.c, 42 ::           TRISE0_bit = 0;
846
0x9D0040D8      0x34020001  ORI R2, R0, 0x0001
847
0x9D0040DC      0x3C1EBF88  LUI R30, 49032
848
0x9D0040E0      0xA3C26104  SB  R2, 24836(R30)
849
;NandControl.c, 43 ::           TRISE1_bit = 0;
850
0x9D0040E4      0x34020002  ORI R2, R0, 0x0002
851
0x9D0040E8      0x3C1EBF88  LUI R30, 49032
852
0x9D0040EC      0xA3C26104  SB  R2, 24836(R30)
853
;NandControl.c, 45 ::           ctrl_nce0 = 1;
854
0x9D0040F0      0x34020001  ORI R2, R0, 0x0001
855
0x9D0040F4      0x3C1EBF88  LUI R30, 49032
856
0x9D0040F8      0xA3C26069  SB  R2, 24681(R30)
857
;NandControl.c, 46 ::           ctrl_nce1 = 1;
858
0x9D0040FC      0x34020002  ORI R2, R0, 0x0002
859
0x9D004100      0x3C1EBF88  LUI R30, 49032
860
0x9D004104      0xA3C26168  SB  R2, 24936(R30)
861
;NandControl.c, 47 ::           ctrl_nce2 = 1;
862
0x9D004108      0x34020001  ORI R2, R0, 0x0001
863
0x9D00410C      0x3C1EBF88  LUI R30, 49032
864
0x9D004110      0xA3C26168  SB  R2, 24936(R30)
865
;NandControl.c, 48 ::           ctrl_nce3 = 1;
866
0x9D004114      0x34020040  ORI R2, R0, 0x0040
867
0x9D004118      0x3C1EBF88  LUI R30, 49032
868
0x9D00411C      0xA3C26069  SB  R2, 24681(R30)
869
;NandControl.c, 50 ::           ctrl_nre = 1;
870
0x9D004120      0x34020010  ORI R2, R0, 0x0010
871
0x9D004124      0x3C1EBF88  LUI R30, 49032
872
0x9D004128      0xA3C260E8  SB  R2, 24808(R30)
873
;NandControl.c, 51 ::           ctrl_cle = 0;
874
0x9D00412C      0x34020080  ORI R2, R0, 0x0080
875
0x9D004130      0x3C1EBF88  LUI R30, 49032
876
0x9D004134      0xA3C26065  SB  R2, 24677(R30)
877
;NandControl.c, 52 ::           ctrl_ale = 0;
878
0x9D004138      0x34020001  ORI R2, R0, 0x0001
879
0x9D00413C      0x3C1EBF88  LUI R30, 49032
880
0x9D004140      0xA3C260E4  SB  R2, 24804(R30)
881
;NandControl.c, 53 ::           ctrl_nwe = 1;
882
0x9D004144      0x34020001  ORI R2, R0, 0x0001
883
0x9D004148      0x3C1EBF88  LUI R30, 49032
884
0x9D00414C      0xA3C26128  SB  R2, 24872(R30)
885
;NandControl.c, 54 ::           ctrl_nwp = 0;
886
0x9D004150      0x34020002  ORI R2, R0, 0x0002
887
0x9D004154      0x3C1EBF88  LUI R30, 49032
888
0x9D004158      0xA3C26124  SB  R2, 24868(R30)
889
;NandControl.c, 55 ::           }
890
L_end_init_nand_control_line:
891
0x9D00415C      0x03E00008  JR  RA
892
0x9D004160      0x70000000  NOP
893
; end of _init_nand_control_line
894
_MM_Init:
895
;__Lib_MemManager.c, 30 ::              void MM_Init() {
896
;__Lib_MemManager.c, 33 ::              MM_FreeMemTable[0].Size    = HEAP_SIZE;
897
0x9D003A0C      0x34021F40  ORI R2, R0, 8000
898
0x9D003A10      0xAC22ABFC  SW  R2, Offset(_MM_FreeMemTable+4)(GP)
899
;__Lib_MemManager.c, 34 ::              MM_FreeMemTable[0].Pointer = HEAP_START;
900
0x9D003A14      0x3C02A000  LUI R2, 40960
901
0x9D003A18      0x34420058  ORI R2, R2, 88
902
0x9D003A1C      0xAC22ABF8  SW  R2, Offset(_MM_FreeMemTable+0)(GP)
903
;__Lib_MemManager.c, 37 ::              for(i=1; i
904
; i start address is: 16 (R4)
905
0x9D003A20      0x34040001  ORI R4, R0, 1
906
; i end address is: 16 (R4)
907
L_MM_Init0:
908
; i start address is: 16 (R4)
909
0x9D003A24      0x308200FF  ANDI        R2, R4, 255
910
0x9D003A28      0x28420014  SLTI        R2, R2, 20
911
0x9D003A2C      0x10400011  BEQ R2, R0, L_MM_Init1
912
0x9D003A30      0x70000000  NOP
913
L__MM_Init116:
914
;__Lib_MemManager.c, 38 ::              MM_FreeMemTable[i].Pointer = NULL;  // clear other table entries
915
0x9D003A34      0x308200FF  ANDI        R2, R4, 255
916
0x9D003A38      0x000218C0  SLL R3, R2, 3
917
0x9D003A3C      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
918
0x9D003A40      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
919
0x9D003A44      0x00431021  ADDU        R2, R2, R3
920
0x9D003A48      0xAC400000  SW  R0, 0(R2)
921
;__Lib_MemManager.c, 39 ::              MM_FreeMemTable[i].Size    = 0;
922
0x9D003A4C      0x308200FF  ANDI        R2, R4, 255
923
0x9D003A50      0x000218C0  SLL R3, R2, 3
924
0x9D003A54      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
925
0x9D003A58      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
926
0x9D003A5C      0x00431021  ADDU        R2, R2, R3
927
0x9D003A60      0x24420004  ADDIU       R2, R2, 4
928
0x9D003A64      0xAC400000  SW  R0, 0(R2)
929
;__Lib_MemManager.c, 37 ::              for(i=1; i
930
0x9D003A68      0x24820001  ADDIU       R2, R4, 1
931
;__Lib_MemManager.c, 40 ::              }
932
; i end address is: 16 (R4)
933
0x9D003A6C      0x0B400E89  J   L_MM_Init0
934
0x9D003A70      0x304400FF  ANDI        R4, R2, 255
935
L_MM_Init1:
936
;__Lib_MemManager.c, 42 ::              MM_NrFreeBlocksUsed = 1;
937
0x9D003A74      0x34020001  ORI R2, R0, 1
938
0x9D003A78      0xA022ABEE  SB  R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
939
;__Lib_MemManager.c, 43 ::              MM_Error_ = 0;
940
0x9D003A7C      0xA020ABF4  SB  R0, Offset(_MM_Error_+0)(GP)
941
;__Lib_MemManager.c, 44 ::              MM_PossiblyFragmented = 0;
942
0x9D003A80      0xA020ABEF  SB  R0, Offset(_MM_PossiblyFragmented+0)(GP)
943
;__Lib_MemManager.c, 45 ::              }
944
L_end_MM_Init:
945
0x9D003A84      0x03E00008  JR  RA
946
0x9D003A88      0x70000000  NOP
947
; end of _MM_Init
948
_HID_Enable:
949
;__Lib_USB.c, 5446 ::
950
0x9D003BFC      0x27BDFFFC  ADDIU       SP, SP, -4
951
0x9D003C00      0xAFBF0000  SW  RA, 0(SP)
952
;__Lib_USB.c, 5447 ::
953
0x9D003C04      0x0F400B57  JAL __Lib_USB_GetMaxStrignDscIndex+0
954
0x9D003C08      0x70000000  NOP
955
0x9D003C0C      0xA022ABE3  SB  R2, Offset(__Lib_USB_maxDescriptorIndex+0)(GP)
956
;__Lib_USB.c, 5448 ::
957
0x9D003C10      0x34020001  ORI R2, R0, 1
958
0x9D003C14      0xA022ACF0  SB  R2, Offset(__Lib_USB__Is_HID+0)(GP)
959
;__Lib_USB.c, 5449 ::
960
0x9D003C18      0xAC39AC98  SW  R25, Offset(__Lib_USB_USB_Read_Buffer+0)(GP)
961
;__Lib_USB.c, 5450 ::
962
;__Lib_USB.c, 5451 ::
963
0x9D003C1C      0x0F400B6D  JAL __Lib_USB_USB_Device_Init+0
964
0x9D003C20      0xAC3AABE4  SW  R26, Offset(__Lib_USB_USB_Write_Buffer+0)(GP)
965
;__Lib_USB.c, 5452 ::
966
0x9D003C24      0x34030001  ORI R3, R0, 1
967
0x9D003C28      0x34020000  ORI R2, R0, 0
968
0x9D003C2C      0x14620003  BNE R3, R2, L_HID_Enable251
969
0x9D003C30      0x70000000  NOP
970
L__HID_Enable598:
971
;__Lib_USB.c, 5453 ::
972
0x9D003C34      0x0F400B3A  JAL __Lib_USB_USB_Attach_Device+0
973
0x9D003C38      0x70000000  NOP
974
L_HID_Enable251:
975
;__Lib_USB.c, 5454 ::
976
L_end_HID_Enable:
977
0x9D003C3C      0x8FBF0000  LW  RA, 0(SP)
978
0x9D003C40      0x03E00008  JR  RA
979
0x9D003C44      0x27BD0004  ADDIU       SP, SP, 4
980
; end of _HID_Enable
981
__Lib_USB_GetMaxStrignDscIndex:
982
;__Lib_USB.c, 5513 ::
983
0x9D002D5C      0x27BDFFF8  ADDIU       SP, SP, -8
984
0x9D002D60      0xAFBF0000  SW  RA, 0(SP)
985
;__Lib_USB.c, 5516 ::
986
0x9D002D64      0x0F40074E  JAL __Lib_USB_GetMaxIndexInDevDsc+0
987
0x9D002D68      0xAFB90004  SW  R25, 4(SP)
988
; dev start address is: 32 (R8)
989
0x9D002D6C      0x304800FF  ANDI        R8, R2, 255
990
;__Lib_USB.c, 5517 ::
991
0x9D002D70      0x3C029D00  LUI R2, hi_addr(_configDescriptor1+0)
992
0x9D002D74      0x344249A8  ORI R2, R2, lo_addr(_configDescriptor1+0)
993
0x9D002D78      0x0F400705  JAL __Lib_USB_GetMaxIndexInConfigDsc+0
994
0x9D002D7C      0x0040C80A  MOVZ        R25, R2, R0
995
; cfg start address is: 16 (R4)
996
0x9D002D80      0x304400FF  ANDI        R4, R2, 255
997
;__Lib_USB.c, 5518 ::
998
0x9D002D84      0x310300FF  ANDI        R3, R8, 255
999
0x9D002D88      0x304200FF  ANDI        R2, R2, 255
1000
0x9D002D8C      0x0043102B  SLTU        R2, R2, R3
1001
0x9D002D90      0x10400003  BEQ R2, R0, L___Lib_USB_GetMaxStrignDscIndex261
1002
0x9D002D94      0x70000000  NOP
1003
L___Lib_USB_GetMaxStrignDscIndex612:
1004
; cfg end address is: 16 (R4)
1005
;__Lib_USB.c, 5519 ::
1006
; dev end address is: 32 (R8)
1007
0x9D002D98      0x0B400B69  J   L_end_GetMaxStrignDscIndex
1008
0x9D002D9C      0x310200FF  ANDI        R2, R8, 255
1009
;__Lib_USB.c, 5520 ::
1010
L___Lib_USB_GetMaxStrignDscIndex261:
1011
;__Lib_USB.c, 5521 ::
1012
; cfg start address is: 16 (R4)
1013
0x9D002DA0      0x308200FF  ANDI        R2, R4, 255
1014
; cfg end address is: 16 (R4)
1015
;__Lib_USB.c, 5524 ::
1016
;__Lib_USB.c, 5521 ::
1017
;__Lib_USB.c, 5524 ::
1018
L_end_GetMaxStrignDscIndex:
1019
0x9D002DA4      0x8FB90004  LW  R25, 4(SP)
1020
0x9D002DA8      0x8FBF0000  LW  RA, 0(SP)
1021
0x9D002DAC      0x03E00008  JR  RA
1022
0x9D002DB0      0x27BD0008  ADDIU       SP, SP, 8
1023
; end of __Lib_USB_GetMaxStrignDscIndex
1024
__Lib_USB_GetMaxIndexInDevDsc:
1025
;__Lib_USB.c, 5468 ::
1026
0x9D001D38      0x27BDFFFC  ADDIU       SP, SP, -4
1027
;__Lib_USB.c, 5471 ::
1028
0x9D001D3C      0x3C039D00  LUI R3, hi_addr(_device_dsc+0)
1029
0x9D001D40      0x34634A16  ORI R3, R3, lo_addr(_device_dsc+0)
1030
0x9D001D44      0x2462000E  ADDIU       R2, R3, 14
1031
0x9D001D48      0x90440000  LBU R4, 0(R2)
1032
; index start address is: 20 (R5)
1033
0x9D001D4C      0x308500FF  ANDI        R5, R4, 255
1034
;__Lib_USB.c, 5473 ::
1035
0x9D001D50      0x2462000F  ADDIU       R2, R3, 15
1036
0x9D001D54      0x90420000  LBU R2, 0(R2)
1037
0x9D001D58      0x304300FF  ANDI        R3, R2, 255
1038
0x9D001D5C      0x308200FF  ANDI        R2, R4, 255
1039
0x9D001D60      0x0043102B  SLTU        R2, R2, R3
1040
0x9D001D64      0x10400007  BEQ R2, R0, L___Lib_USB_GetMaxIndexInDevDsc304
1041
0x9D001D68      0x70000000  NOP
1042
L___Lib_USB_GetMaxIndexInDevDsc603:
1043
; index end address is: 20 (R5)
1044
;__Lib_USB.c, 5474 ::
1045
0x9D001D6C      0x3C029D00  LUI R2, hi_addr(_device_dsc+0)
1046
0x9D001D70      0x34424A16  ORI R2, R2, lo_addr(_device_dsc+0)
1047
0x9D001D74      0x2442000F  ADDIU       R2, R2, 15
1048
0x9D001D78      0x90420000  LBU R2, 0(R2)
1049
; index start address is: 16 (R4)
1050
; index end address is: 16 (R4)
1051
;__Lib_USB.c, 5475 ::
1052
0x9D001D7C      0x0B400762  J   L___Lib_USB_GetMaxIndexInDevDsc252
1053
0x9D001D80      0x304400FF  ANDI        R4, R2, 255
1054
L___Lib_USB_GetMaxIndexInDevDsc304:
1055
;__Lib_USB.c, 5473 ::
1056
0x9D001D84      0x30A400FF  ANDI        R4, R5, 255
1057
;__Lib_USB.c, 5475 ::
1058
L___Lib_USB_GetMaxIndexInDevDsc252:
1059
;__Lib_USB.c, 5477 ::
1060
; index start address is: 16 (R4)
1061
0x9D001D88      0x3C029D00  LUI R2, hi_addr(_device_dsc+0)
1062
0x9D001D8C      0x34424A16  ORI R2, R2, lo_addr(_device_dsc+0)
1063
0x9D001D90      0x24420010  ADDIU       R2, R2, 16
1064
0x9D001D94      0x90420000  LBU R2, 0(R2)
1065
0x9D001D98      0x304300FF  ANDI        R3, R2, 255
1066
0x9D001D9C      0x308200FF  ANDI        R2, R4, 255
1067
0x9D001DA0      0x0043102B  SLTU        R2, R2, R3
1068
0x9D001DA4      0x10400007  BEQ R2, R0, L___Lib_USB_GetMaxIndexInDevDsc305
1069
0x9D001DA8      0x70000000  NOP
1070
L___Lib_USB_GetMaxIndexInDevDsc604:
1071
; index end address is: 16 (R4)
1072
;__Lib_USB.c, 5478 ::
1073
0x9D001DAC      0x3C029D00  LUI R2, hi_addr(_device_dsc+0)
1074
0x9D001DB0      0x34424A16  ORI R2, R2, lo_addr(_device_dsc+0)
1075
0x9D001DB4      0x24420010  ADDIU       R2, R2, 16
1076
0x9D001DB8      0x90420000  LBU R2, 0(R2)
1077
; index start address is: 12 (R3)
1078
; index end address is: 12 (R3)
1079
;__Lib_USB.c, 5479 ::
1080
0x9D001DBC      0x0B400772  J   L___Lib_USB_GetMaxIndexInDevDsc253
1081
0x9D001DC0      0x304300FF  ANDI        R3, R2, 255
1082
L___Lib_USB_GetMaxIndexInDevDsc305:
1083
;__Lib_USB.c, 5477 ::
1084
0x9D001DC4      0x308300FF  ANDI        R3, R4, 255
1085
;__Lib_USB.c, 5479 ::
1086
L___Lib_USB_GetMaxIndexInDevDsc253:
1087
;__Lib_USB.c, 5481 ::
1088
; index start address is: 12 (R3)
1089
0x9D001DC8      0x306200FF  ANDI        R2, R3, 255
1090
; index end address is: 12 (R3)
1091
;__Lib_USB.c, 5482 ::
1092
L_end_GetMaxIndexInDevDsc:
1093
0x9D001DCC      0x03E00008  JR  RA
1094
0x9D001DD0      0x27BD0004  ADDIU       SP, SP, 4
1095
; end of __Lib_USB_GetMaxIndexInDevDsc
1096
__Lib_USB_GetMaxIndexInConfigDsc:
1097
;__Lib_USB.c, 5484 ::
1098
0x9D001C14      0x27BDFFFC  ADDIU       SP, SP, -4
1099
;__Lib_USB.c, 5485 ::
1100
; index start address is: 28 (R7)
1101
0x9D001C18      0x0000380A  MOVZ        R7, R0, R0
1102
;__Lib_USB.c, 5486 ::
1103
; i start address is: 24 (R6)
1104
0x9D001C1C      0x0000300A  MOVZ        R6, R0, R0
1105
;__Lib_USB.c, 5489 ::
1106
0x9D001C20      0x27220002  ADDIU       R2, R25, 2
1107
0x9D001C24      0x90440000  LBU R4, 0(R2)
1108
0x9D001C28      0x27220003  ADDIU       R2, R25, 3
1109
0x9D001C2C      0x90420000  LBU R2, 0(R2)
1110
0x9D001C30      0x304200FF  ANDI        R2, R2, 255
1111
0x9D001C34      0x3042FFFF  ANDI        R2, R2, 65535
1112
0x9D001C38      0x00021A00  SLL R3, R2, 8
1113
0x9D001C3C      0x308200FF  ANDI        R2, R4, 255
1114
0x9D001C40      0x00431021  ADDU        R2, R2, R3
1115
; totalLen start address is: 16 (R4)
1116
0x9D001C44      0x3044FFFF  ANDI        R4, R2, 65535
1117
;__Lib_USB.c, 5490 ::
1118
; ptr start address is: 20 (R5)
1119
0x9D001C48      0x0320280A  MOVZ        R5, R25, R0
1120
; index end address is: 28 (R7)
1121
; i end address is: 24 (R6)
1122
; ptr end address is: 20 (R5)
1123
;__Lib_USB.c, 5492 ::
1124
L___Lib_USB_GetMaxIndexInConfigDsc254:
1125
;__Lib_USB.c, 5493 ::
1126
; ptr start address is: 20 (R5)
1127
; totalLen start address is: 16 (R4)
1128
; totalLen end address is: 16 (R4)
1129
; i start address is: 24 (R6)
1130
; index start address is: 28 (R7)
1131
0x9D001C4C      0x24A20001  ADDIU       R2, R5, 1
1132
0x9D001C50      0x90420000  LBU R2, 0(R2)
1133
0x9D001C54      0x304300FF  ANDI        R3, R2, 255
1134
0x9D001C58      0x34020002  ORI R2, R0, 2
1135
0x9D001C5C      0x1462000F  BNE R3, R2, L___Lib_USB_GetMaxIndexInConfigDsc307
1136
0x9D001C60      0x70000000  NOP
1137
L___Lib_USB_GetMaxIndexInConfigDsc606:
1138
; totalLen end address is: 16 (R4)
1139
;__Lib_USB.c, 5494 ::
1140
; totalLen start address is: 16 (R4)
1141
0x9D001C64      0x24A20006  ADDIU       R2, R5, 6
1142
0x9D001C68      0x90420000  LBU R2, 0(R2)
1143
0x9D001C6C      0x304300FF  ANDI        R3, R2, 255
1144
0x9D001C70      0x30E200FF  ANDI        R2, R7, 255
1145
0x9D001C74      0x0043102B  SLTU        R2, R2, R3
1146
0x9D001C78      0x10400006  BEQ R2, R0, L___Lib_USB_GetMaxIndexInConfigDsc306
1147
0x9D001C7C      0x70000000  NOP
1148
L___Lib_USB_GetMaxIndexInConfigDsc607:
1149
; index end address is: 28 (R7)
1150
;__Lib_USB.c, 5495 ::
1151
0x9D001C80      0x24A20006  ADDIU       R2, R5, 6
1152
0x9D001C84      0x90420000  LBU R2, 0(R2)
1153
; index start address is: 12 (R3)
1154
0x9D001C88      0x304300FF  ANDI        R3, R2, 255
1155
; index end address is: 12 (R3)
1156
;__Lib_USB.c, 5496 ::
1157
0x9D001C8C      0x0B400725  J   L___Lib_USB_GetMaxIndexInConfigDsc257
1158
0x9D001C90      0x306700FF  ANDI        R7, R3, 255
1159
L___Lib_USB_GetMaxIndexInConfigDsc306:
1160
;__Lib_USB.c, 5494 ::
1161
;__Lib_USB.c, 5496 ::
1162
L___Lib_USB_GetMaxIndexInConfigDsc257:
1163
;__Lib_USB.c, 5497 ::
1164
; index start address is: 28 (R7)
1165
; index end address is: 28 (R7)
1166
0x9D001C94      0x0B400727  J   L___Lib_USB_GetMaxIndexInConfigDsc256
1167
0x9D001C98      0x70000000  NOP
1168
L___Lib_USB_GetMaxIndexInConfigDsc307:
1169
;__Lib_USB.c, 5493 ::
1170
;__Lib_USB.c, 5497 ::
1171
L___Lib_USB_GetMaxIndexInConfigDsc256:
1172
;__Lib_USB.c, 5499 ::
1173
; index start address is: 28 (R7)
1174
0x9D001C9C      0x24A20001  ADDIU       R2, R5, 1
1175
0x9D001CA0      0x90420000  LBU R2, 0(R2)
1176
0x9D001CA4      0x304300FF  ANDI        R3, R2, 255
1177
0x9D001CA8      0x34020004  ORI R2, R0, 4
1178
0x9D001CAC      0x1462000F  BNE R3, R2, L___Lib_USB_GetMaxIndexInConfigDsc309
1179
0x9D001CB0      0x70000000  NOP
1180
L___Lib_USB_GetMaxIndexInConfigDsc608:
1181
;__Lib_USB.c, 5500 ::
1182
0x9D001CB4      0x24A20008  ADDIU       R2, R5, 8
1183
0x9D001CB8      0x90420000  LBU R2, 0(R2)
1184
0x9D001CBC      0x304300FF  ANDI        R3, R2, 255
1185
0x9D001CC0      0x30E200FF  ANDI        R2, R7, 255
1186
0x9D001CC4      0x0043102B  SLTU        R2, R2, R3
1187
0x9D001CC8      0x10400006  BEQ R2, R0, L___Lib_USB_GetMaxIndexInConfigDsc308
1188
0x9D001CCC      0x70000000  NOP
1189
L___Lib_USB_GetMaxIndexInConfigDsc609:
1190
; index end address is: 28 (R7)
1191
;__Lib_USB.c, 5501 ::
1192
0x9D001CD0      0x24A20008  ADDIU       R2, R5, 8
1193
0x9D001CD4      0x90420000  LBU R2, 0(R2)
1194
; index start address is: 12 (R3)
1195
0x9D001CD8      0x304300FF  ANDI        R3, R2, 255
1196
; index end address is: 12 (R3)
1197
;__Lib_USB.c, 5502 ::
1198
0x9D001CDC      0x0B400739  J   L___Lib_USB_GetMaxIndexInConfigDsc259
1199
0x9D001CE0      0x306700FF  ANDI        R7, R3, 255
1200
L___Lib_USB_GetMaxIndexInConfigDsc308:
1201
;__Lib_USB.c, 5500 ::
1202
;__Lib_USB.c, 5502 ::
1203
L___Lib_USB_GetMaxIndexInConfigDsc259:
1204
;__Lib_USB.c, 5503 ::
1205
; index start address is: 28 (R7)
1206
; index end address is: 28 (R7)
1207
0x9D001CE4      0x0B40073B  J   L___Lib_USB_GetMaxIndexInConfigDsc258
1208
0x9D001CE8      0x70000000  NOP
1209
L___Lib_USB_GetMaxIndexInConfigDsc309:
1210
;__Lib_USB.c, 5499 ::
1211
;__Lib_USB.c, 5503 ::
1212
L___Lib_USB_GetMaxIndexInConfigDsc258:
1213
;__Lib_USB.c, 5504 ::
1214
; index start address is: 28 (R7)
1215
0x9D001CEC      0x90A20000  LBU R2, 0(R5)
1216
0x9D001CF0      0x304200FF  ANDI        R2, R2, 255
1217
0x9D001CF4      0x00C21021  ADDU        R2, R6, R2
1218
0x9D001CF8      0x3046FFFF  ANDI        R6, R2, 65535
1219
;__Lib_USB.c, 5505 ::
1220
0x9D001CFC      0x3043FFFF  ANDI        R3, R2, 65535
1221
0x9D001D00      0x3082FFFF  ANDI        R2, R4, 65535
1222
0x9D001D04      0x0062102B  SLTU        R2, R3, R2
1223
0x9D001D08      0x14400003  BNE R2, R0, L___Lib_USB_GetMaxIndexInConfigDsc260
1224
0x9D001D0C      0x70000000  NOP
1225
L___Lib_USB_GetMaxIndexInConfigDsc610:
1226
; totalLen end address is: 16 (R4)
1227
; i end address is: 24 (R6)
1228
; ptr end address is: 20 (R5)
1229
;__Lib_USB.c, 5506 ::
1230
0x9D001D10      0x0B40074B  J   L___Lib_USB_GetMaxIndexInConfigDsc255
1231
0x9D001D14      0x70000000  NOP
1232
L___Lib_USB_GetMaxIndexInConfigDsc260:
1233
;__Lib_USB.c, 5508 ::
1234
; ptr start address is: 20 (R5)
1235
; i start address is: 24 (R6)
1236
; totalLen start address is: 16 (R4)
1237
0x9D001D18      0x90A20000  LBU R2, 0(R5)
1238
0x9D001D1C      0x304200FF  ANDI        R2, R2, 255
1239
0x9D001D20      0x00A21021  ADDU        R2, R5, R2
1240
;__Lib_USB.c, 5509 ::
1241
; totalLen end address is: 16 (R4)
1242
; i end address is: 24 (R6)
1243
; ptr end address is: 20 (R5)
1244
0x9D001D24      0x0B400713  J   L___Lib_USB_GetMaxIndexInConfigDsc254
1245
0x9D001D28      0x0040280A  MOVZ        R5, R2, R0
1246
L___Lib_USB_GetMaxIndexInConfigDsc255:
1247
;__Lib_USB.c, 5510 ::
1248
0x9D001D2C      0x30E200FF  ANDI        R2, R7, 255
1249
; index end address is: 28 (R7)
1250
;__Lib_USB.c, 5511 ::
1251
L_end_GetMaxIndexInConfigDsc:
1252
0x9D001D30      0x03E00008  JR  RA
1253
0x9D001D34      0x27BD0004  ADDIU       SP, SP, 4
1254
; end of __Lib_USB_GetMaxIndexInConfigDsc
1255
__Lib_USB_USB_Device_Init:
1256
;__Lib_USB.c, 2752 ::
1257
0x9D002DB4      0x27BDFFF8  ADDIU       SP, SP, -8
1258
0x9D002DB8      0xAFBF0000  SW  RA, 0(SP)
1259
;__Lib_USB.c, 2756 ::
1260
0x9D002DBC      0xAFB90004  SW  R25, 4(SP)
1261
0x9D002DC0      0x34020002  ORI R2, R0, 0x0002
1262
0x9D002DC4      0x3C1EBF88  LUI R30, 49032
1263
;__Lib_USB.c, 2757 ::
1264
0x9D002DC8      0x0F40068D  JAL _USB_Init_Desc+0
1265
0x9D002DCC      0xA3C21077  SB  R2, 4215(R30)
1266
;__Lib_USB.c, 2759 ::
1267
0x9D002DD0      0xAC20ACA4  SW  R0, Offset(__Lib_USB_USB_Out_Handle+0)(GP)
1268
;__Lib_USB.c, 2760 ::
1269
0x9D002DD4      0xAC20ACEC  SW  R0, Offset(__Lib_USB_USB_In_Handle+0)(GP)
1270
;__Lib_USB.c, 2763 ::
1271
0x9D002DD8      0x340200FF  ORI R2, R0, 255
1272
0x9D002DDC      0x3C1EBF88  LUI R30, 49032
1273
0x9D002DE0      0xAFC25220  SW  R2, 21024(R30)
1274
;__Lib_USB.c, 2766 ::
1275
0x9D002DE4      0x340200FF  ORI R2, R0, 255
1276
0x9D002DE8      0x3C1EBF88  LUI R30, 49032
1277
0x9D002DEC      0xAFC25200  SW  R2, 20992(R30)
1278
;__Lib_USB.c, 2769 ::
1279
0x9D002DF0      0x3C1EBF88  LUI R30, 49032
1280
0x9D002DF4      0xAFC05300  SW  R0, 21248(R30)
1281
;__Lib_USB.c, 2770 ::
1282
0x9D002DF8      0x0F40061A  JAL __Lib_USB_USB_Disable_Non_Zero_Endpoints+0
1283
0x9D002DFC      0x34190001  ORI R25, R0, 1
1284
;__Lib_USB.c, 2772 ::
1285
0x9D002E00      0x0F400679  JAL __Lib_USB_USB_Configure+0
1286
0x9D002E04      0x70000000  NOP
1287
;__Lib_USB.c, 2775 ::
1288
0x9D002E08      0x3C1EBF88  LUI R30, 49032
1289
0x9D002E0C      0x83C25080  LB  R2, 20608(R30)
1290
0x9D002E10      0x34420001  ORI R2, R2, 0x0001
1291
0x9D002E14      0x3C1EBF88  LUI R30, 49032
1292
0x9D002E18      0xA3C25080  SB  R2, 20608(R30)
1293
;__Lib_USB.c, 2777 ::
1294
0x9D002E1C      0x3C03A000  LUI R3, 40960
1295
0x9D002E20      0x34630000  ORI R3, R3, 0
1296
0x9D002E24      0x3C021FFF  LUI R2, 8191
1297
0x9D002E28      0x3442FFFF  ORI R2, R2, 65535
1298
0x9D002E2C      0x00621024  AND R2, R3, R2
1299
0x9D002E30      0x00021602  SRL R2, R2, 24
1300
0x9D002E34      0x3C1EBF88  LUI R30, 49032
1301
0x9D002E38      0xAFC252D0  SW  R2, 21200(R30)
1302
;__Lib_USB.c, 2778 ::
1303
0x9D002E3C      0x3C03A000  LUI R3, 40960
1304
0x9D002E40      0x34630000  ORI R3, R3, 0
1305
0x9D002E44      0x3C021FFF  LUI R2, 8191
1306
0x9D002E48      0x3442FFFF  ORI R2, R2, 65535
1307
0x9D002E4C      0x00621024  AND R2, R3, R2
1308
0x9D002E50      0x00021402  SRL R2, R2, 16
1309
0x9D002E54      0x3C1EBF88  LUI R30, 49032
1310
0x9D002E58      0xAFC252C0  SW  R2, 21184(R30)
1311
;__Lib_USB.c, 2779 ::
1312
0x9D002E5C      0x3C03A000  LUI R3, 40960
1313
0x9D002E60      0x34630000  ORI R3, R3, 0
1314
0x9D002E64      0x3C021FFF  LUI R2, 8191
1315
0x9D002E68      0x3442FFFF  ORI R2, R2, 65535
1316
0x9D002E6C      0x00621024  AND R2, R3, R2
1317
0x9D002E70      0x00021202  SRL R2, R2, 8
1318
0x9D002E74      0x3C1EBF88  LUI R30, 49032
1319
0x9D002E78      0xAFC25270  SW  R2, 21104(R30)
1320
;__Lib_USB.c, 2784 ::
1321
; i start address is: 16 (R4)
1322
0x9D002E7C      0x0000200A  MOVZ        R4, R0, R0
1323
; i end address is: 16 (R4)
1324
L___Lib_USB_USB_Device_Init7:
1325
; i start address is: 16 (R4)
1326
0x9D002E80      0x308200FF  ANDI        R2, R4, 255
1327
0x9D002E84      0x2C420008  SLTIU       R2, R2, 8
1328
0x9D002E88      0x1040000B  BEQ R2, R0, L___Lib_USB_USB_Device_Init8
1329
0x9D002E8C      0x70000000  NOP
1330
L___Lib_USB_USB_Device_Init327:
1331
;__Lib_USB.c, 2786 ::
1332
0x9D002E90      0x308200FF  ANDI        R2, R4, 255
1333
0x9D002E94      0x000218C0  SLL R3, R2, 3
1334
0x9D002E98      0x3C02A000  LUI R2, 40960
1335
0x9D002E9C      0x34420000  ORI R2, R2, 0
1336
0x9D002EA0      0x00431021  ADDU        R2, R2, R3
1337
0x9D002EA4      0xAC400000  SW  R0, 0(R2)
1338
0x9D002EA8      0xAC400004  SW  R0, 4(R2)
1339
;__Lib_USB.c, 2784 ::
1340
0x9D002EAC      0x24820001  ADDIU       R2, R4, 1
1341
;__Lib_USB.c, 2787 ::
1342
; i end address is: 16 (R4)
1343
0x9D002EB0      0x0B400BA0  J   L___Lib_USB_USB_Device_Init7
1344
0x9D002EB4      0x304400FF  ANDI        R4, R2, 255
1345
L___Lib_USB_USB_Device_Init8:
1346
;__Lib_USB.c, 2790 ::
1347
0x9D002EB8      0x3C1EBF88  LUI R30, 49032
1348
0x9D002EBC      0x83C25250  LB  R2, 21072(R30)
1349
0x9D002EC0      0x34420002  ORI R2, R2, 0x0002
1350
0x9D002EC4      0x3C1EBF88  LUI R30, 49032
1351
0x9D002EC8      0xA3C25250  SB  R2, 21072(R30)
1352
;__Lib_USB.c, 2793 ::
1353
0x9D002ECC      0x3C1EBF88  LUI R30, 49032
1354
0x9D002ED0      0xAFC05260  SW  R0, 21088(R30)
1355
;__Lib_USB.c, 2796 ::
1356
0x9D002ED4      0x3C1EBF88  LUI R30, 49032
1357
0x9D002ED8      0x93C25250  LBU R2, 21072(R30)
1358
0x9D002EDC      0x7C022944  INS R2, R0, 5, 1
1359
0x9D002EE0      0x3C1EBF88  LUI R30, 49032
1360
0x9D002EE4      0xA3C25250  SB  R2, 21072(R30)
1361
;__Lib_USB.c, 2799 ::
1362
0x9D002EE8      0x3C1EBF88  LUI R30, 49032
1363
0x9D002EEC      0x83C25250  LB  R2, 21072(R30)
1364
0x9D002EF0      0x7C020844  INS R2, R0, 1, 1
1365
0x9D002EF4      0x3C1EBF88  LUI R30, 49032
1366
0x9D002EF8      0xA3C25250  SB  R2, 21072(R30)
1367
;__Lib_USB.c, 2802 ::
1368
L___Lib_USB_USB_Device_Init10:
1369
0x9D002EFC      0x3C1EBF88  LUI R30, 49032
1370
0x9D002F00      0x83C25200  LB  R2, 20992(R30)
1371
0x9D002F04      0x7C4200C0  EXT R2, R2, 3, 1
1372
0x9D002F08      0x10400008  BEQ R2, 1, L___Lib_USB_USB_Device_Init11
1373
0x9D002F0C      0x70000000  NOP
1374
L___Lib_USB_USB_Device_Init329:
1375
;__Lib_USB.c, 2804 ::
1376
0x9D002F10      0x34020008  ORI R2, R0, 8
1377
0x9D002F14      0x3C1EBF88  LUI R30, 49032
1378
0x9D002F18      0xAFC25200  SW  R2, 20992(R30)
1379
;__Lib_USB.c, 2806 ::
1380
0x9D002F1C      0xA020ACC4  SB  R0, Offset(__Lib_USB_inPipes+4)(GP)
1381
;__Lib_USB.c, 2807 ::
1382
0x9D002F20      0xA020ACD8  SB  R0, Offset(__Lib_USB_outPipes+4)(GP)
1383
;__Lib_USB.c, 2808 ::
1384
;__Lib_USB.c, 2809 ::
1385
0x9D002F24      0x0B400BBF  J   L___Lib_USB_USB_Device_Init10
1386
0x9D002F28      0xA420ACDA  SH  R0, Offset(__Lib_USB_outPipes+6)(GP)
1387
L___Lib_USB_USB_Device_Init11:
1388
;__Lib_USB.c, 2813 ::
1389
0x9D002F2C      0x34020001  ORI R2, R0, 1
1390
0x9D002F30      0xA022ABE8  SB  R2, Offset(_USBStatusStageEnabledFlag1+0)(GP)
1391
;__Lib_USB.c, 2814 ::
1392
0x9D002F34      0x34020001  ORI R2, R0, 1
1393
0x9D002F38      0xA0229F99  SB  R2, Offset(_USBStatusStageEnabledFlag2+0)(GP)
1394
;__Lib_USB.c, 2816 ::
1395
0x9D002F3C      0xA0209F9A  SB  R0, Offset(_USBDeferINDataStagePackets+0)(GP)
1396
;__Lib_USB.c, 2817 ::
1397
0x9D002F40      0xA0208057  SB  R0, Offset(_USBDeferOUTDataStagePackets+0)(GP)
1398
;__Lib_USB.c, 2818 ::
1399
0x9D002F44      0xA020ACCB  SB  R0, Offset(_USBBusIsSuspended+0)(GP)
1400
;__Lib_USB.c, 2822 ::
1401
; i start address is: 16 (R4)
1402
0x9D002F48      0x0000200A  MOVZ        R4, R0, R0
1403
; i end address is: 16 (R4)
1404
L___Lib_USB_USB_Device_Init12:
1405
; i start address is: 16 (R4)
1406
0x9D002F4C      0x308200FF  ANDI        R2, R4, 255
1407
0x9D002F50      0x2C420002  SLTIU       R2, R2, 2
1408
0x9D002F54      0x1040001A  BEQ R2, R0, L___Lib_USB_USB_Device_Init13
1409
0x9D002F58      0x70000000  NOP
1410
L___Lib_USB_USB_Device_Init330:
1411
;__Lib_USB.c, 2824 ::
1412
0x9D002F5C      0x308200FF  ANDI        R2, R4, 255
1413
0x9D002F60      0x00021880  SLL R3, R2, 2
1414
0x9D002F64      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_InPtr+0)
1415
0x9D002F68      0x34422C9C  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_InPtr+0)
1416
0x9D002F6C      0x00431021  ADDU        R2, R2, R3
1417
0x9D002F70      0xAC400000  SW  R0, 0(R2)
1418
;__Lib_USB.c, 2825 ::
1419
0x9D002F74      0x308200FF  ANDI        R2, R4, 255
1420
0x9D002F78      0x00021880  SLL R3, R2, 2
1421
0x9D002F7C      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_OutPtr+0)
1422
0x9D002F80      0x34422CCC  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_OutPtr+0)
1423
0x9D002F84      0x00431021  ADDU        R2, R2, R3
1424
0x9D002F88      0xAC400000  SW  R0, 0(R2)
1425
;__Lib_USB.c, 2826 ::
1426
0x9D002F8C      0x308300FF  ANDI        R3, R4, 255
1427
0x9D002F90      0x3C02A000  LUI R2, hi_addr(_ep_data_in+0)
1428
0x9D002F94      0x34422BE1  ORI R2, R2, lo_addr(_ep_data_in+0)
1429
0x9D002F98      0x00431021  ADDU        R2, R2, R3
1430
0x9D002F9C      0xA0400000  SB  R0, 0(R2)
1431
;__Lib_USB.c, 2827 ::
1432
0x9D002FA0      0x308300FF  ANDI        R3, R4, 255
1433
0x9D002FA4      0x3C02A000  LUI R2, hi_addr(_ep_data_out+0)
1434
0x9D002FA8      0x3442004E  ORI R2, R2, lo_addr(_ep_data_out+0)
1435
0x9D002FAC      0x00431021  ADDU        R2, R2, R3
1436
0x9D002FB0      0xA0400000  SB  R0, 0(R2)
1437
;__Lib_USB.c, 2822 ::
1438
0x9D002FB4      0x24820001  ADDIU       R2, R4, 1
1439
;__Lib_USB.c, 2828 ::
1440
; i end address is: 16 (R4)
1441
0x9D002FB8      0x0B400BD3  J   L___Lib_USB_USB_Device_Init12
1442
0x9D002FBC      0x304400FF  ANDI        R4, R2, 255
1443
L___Lib_USB_USB_Device_Init13:
1444
;__Lib_USB.c, 2832 ::
1445
0x9D002FC0      0x3C02A000  LUI R2, 40960
1446
0x9D002FC4      0x34420010  ORI R2, R2, 16
1447
0x9D002FC8      0xAC22AC9C  SW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
1448
;__Lib_USB.c, 2834 ::
1449
0x9D002FCC      0x3402000D  ORI R2, R0, 13
1450
0x9D002FD0      0x3C1EBF88  LUI R30, 49032
1451
0x9D002FD4      0xAFC25300  SW  R2, 21248(R30)
1452
;__Lib_USB.c, 2836 ::
1453
0x9D002FD8      0x3C03A000  LUI R3, hi_addr(__Lib_USB_SetupPkt+0)
1454
0x9D002FDC      0x34632CB8  ORI R3, R3, lo_addr(__Lib_USB_SetupPkt+0)
1455
0x9D002FE0      0x3C021FFF  LUI R2, 8191
1456
0x9D002FE4      0x3442FFFF  ORI R2, R2, 65535
1457
0x9D002FE8      0x00621024  AND R2, R3, R2
1458
0x9D002FEC      0x3C1EA000  LUI R30, 40960
1459
0x9D002FF0      0xAFC20004  SW  R2, 4(R30)
1460
;__Lib_USB.c, 2837 ::
1461
0x9D002FF4      0x34030008  ORI R3, R0, 8
1462
0x9D002FF8      0x3C1EA000  LUI R30, 40960
1463
0x9D002FFC      0x97C20002  LHU R2, 2(R30)
1464
0x9D003000      0x7C624804  INS R2, R3, 0, 10
1465
0x9D003004      0x3C1EA000  LUI R30, 40960
1466
0x9D003008      0xA7C20002  SH  R2, 2(R30)
1467
;__Lib_USB.c, 2838 ::
1468
0x9D00300C      0x34020084  ORI R2, R0, 132
1469
0x9D003010      0x3C1EA000  LUI R30, 40960
1470
0x9D003014      0xA7C20000  SH  R2, 0(R30)
1471
;__Lib_USB.c, 2841 ::
1472
0x9D003018      0xA020ABF7  SB  R0, Offset(__Lib_USB_USBActiveConfiguration+0)(GP)
1473
;__Lib_USB.c, 2844 ::
1474
0x9D00301C      0xA020ABF5  SB  R0, Offset(__Lib_USB_USBDeviceState+0)(GP)
1475
;__Lib_USB.c, 2845 ::
1476
L_end_USB_Device_Init:
1477
0x9D003020      0x8FB90004  LW  R25, 4(SP)
1478
0x9D003024      0x8FBF0000  LW  RA, 0(SP)
1479
0x9D003028      0x03E00008  JR  RA
1480
0x9D00302C      0x27BD0008  ADDIU       SP, SP, 8
1481
; end of __Lib_USB_USB_Device_Init
1482
_USB_Init_Desc:
1483
;USBdsc.c, 164 ::               void USB_Init_Desc(){
1484
;USBdsc.c, 165 ::               USB_config_dsc_ptr[0] = &configDescriptor1;
1485
0x9D001A34      0x3C029D00  LUI R2, hi_addr(_configDescriptor1+0)
1486
0x9D001A38      0x344249A8  ORI R2, R2, lo_addr(_configDescriptor1+0)
1487
0x9D001A3C      0xAC22ACB4  SW  R2, Offset(_USB_config_dsc_ptr+0)(GP)
1488
;USBdsc.c, 166 ::               USB_string_dsc_ptr[0] = (const char*)&strd1;
1489
0x9D001A40      0x3C029D00  LUI R2, hi_addr(_strd1+0)
1490
0x9D001A44      0x34424A34  ORI R2, R2, lo_addr(_strd1+0)
1491
0x9D001A48      0xAC22ACA8  SW  R2, Offset(_USB_string_dsc_ptr+0)(GP)
1492
;USBdsc.c, 167 ::               USB_string_dsc_ptr[1] = (const char*)&strd2;
1493
0x9D001A4C      0x3C029D00  LUI R2, hi_addr(_strd2+0)
1494
0x9D001A50      0x344249D2  ORI R2, R2, lo_addr(_strd2+0)
1495
0x9D001A54      0xAC22ACAC  SW  R2, Offset(_USB_string_dsc_ptr+4)(GP)
1496
;USBdsc.c, 168 ::               USB_string_dsc_ptr[2] = (const char*)&strd3;
1497
0x9D001A58      0x3C029D00  LUI R2, hi_addr(_strd3+0)
1498
0x9D001A5C      0x34424978  ORI R2, R2, lo_addr(_strd3+0)
1499
0x9D001A60      0xAC22ACB0  SW  R2, Offset(_USB_string_dsc_ptr+8)(GP)
1500
;USBdsc.c, 169 ::               }
1501
L_end_USB_Init_Desc:
1502
0x9D001A64      0x03E00008  JR  RA
1503
0x9D001A68      0x70000000  NOP
1504
; end of _USB_Init_Desc
1505
__Lib_USB_USB_Disable_Non_Zero_Endpoints:
1506
;__Lib_USB.c, 2720 ::
1507
0x9D001868      0x27BDFFFC  ADDIU       SP, SP, -4
1508
;__Lib_USB.c, 2722 ::
1509
; p start address is: 20 (R5)
1510
0x9D00186C      0x3C1EBF88  LUI R30, hi_addr(U1EP1+0)
1511
0x9D001870      0x37DE5310  ORI R30, R30, lo_addr(U1EP1+0)
1512
0x9D001874      0x03C0280A  MOVZ        R5, R30, R0
1513
;__Lib_USB.c, 2723 ::
1514
; i start address is: 16 (R4)
1515
0x9D001878      0x0000200A  MOVZ        R4, R0, R0
1516
; p end address is: 20 (R5)
1517
; i end address is: 16 (R4)
1518
L___Lib_USB_USB_Disable_Non_Zero_Endpoints4:
1519
; i start address is: 16 (R4)
1520
; p start address is: 20 (R5)
1521
0x9D00187C      0x308300FF  ANDI        R3, R4, 255
1522
0x9D001880      0x332200FF  ANDI        R2, R25, 255
1523
0x9D001884      0x0062102B  SLTU        R2, R3, R2
1524
0x9D001888      0x10400007  BEQ R2, R0, L___Lib_USB_USB_Disable_Non_Zero_Endpoints5
1525
0x9D00188C      0x70000000  NOP
1526
L___Lib_USB_USB_Disable_Non_Zero_Endpoints325:
1527
;__Lib_USB.c, 2725 ::
1528
0x9D001890      0xACA00000  SW  R0, 0(R5)
1529
;__Lib_USB.c, 2726 ::
1530
0x9D001894      0x24A20010  ADDIU       R2, R5, 16
1531
0x9D001898      0x0040280A  MOVZ        R5, R2, R0
1532
;__Lib_USB.c, 2723 ::
1533
0x9D00189C      0x24820001  ADDIU       R2, R4, 1
1534
;__Lib_USB.c, 2727 ::
1535
; p end address is: 20 (R5)
1536
; i end address is: 16 (R4)
1537
0x9D0018A0      0x0B40061F  J   L___Lib_USB_USB_Disable_Non_Zero_Endpoints4
1538
0x9D0018A4      0x304400FF  ANDI        R4, R2, 255
1539
L___Lib_USB_USB_Disable_Non_Zero_Endpoints5:
1540
;__Lib_USB.c, 2728 ::
1541
L_end_USB_Disable_Non_Zero_Endpoints:
1542
0x9D0018A8      0x03E00008  JR  RA
1543
0x9D0018AC      0x27BD0004  ADDIU       SP, SP, 4
1544
; end of __Lib_USB_USB_Disable_Non_Zero_Endpoints
1545
__Lib_USB_USB_Configure:
1546
;__Lib_USB.c, 2203 ::
1547
0x9D0019E4      0x27BDFFFC  ADDIU       SP, SP, -4
1548
;__Lib_USB.c, 2204 ::
1549
0x9D0019E8      0x3C1EBF88  LUI R30, 49032
1550
0x9D0019EC      0xAFC052E0  SW  R0, 21216(R30)
1551
;__Lib_USB.c, 2205 ::
1552
0x9D0019F0      0x3402009F  ORI R2, R0, 159
1553
0x9D0019F4      0x3C1EBF88  LUI R30, 49032
1554
0x9D0019F8      0xAFC25230  SW  R2, 21040(R30)
1555
;__Lib_USB.c, 2206 ::
1556
0x9D0019FC      0x3402009F  ORI R2, R0, 159
1557
0x9D001A00      0x3C1EBF88  LUI R30, 49032
1558
0x9D001A04      0xAFC25210  SW  R2, 21008(R30)
1559
;__Lib_USB.c, 2207 ::
1560
0x9D001A08      0x3C1EBF88  LUI R30, 49032
1561
0x9D001A0C      0x8FC25070  LW  R2, 20592(R30)
1562
0x9D001A10      0x3042000F  ANDI        R2, R2, 15
1563
0x9D001A14      0x3C1EBF88  LUI R30, 49032
1564
0x9D001A18      0xAFC25070  SW  R2, 20592(R30)
1565
;__Lib_USB.c, 2208 ::
1566
0x9D001A1C      0x3C1EBF88  LUI R30, 49032
1567
0x9D001A20      0x8FC25070  LW  R2, 20592(R30)
1568
0x9D001A24      0x3C1EBF88  LUI R30, 49032
1569
0x9D001A28      0xAFC25070  SW  R2, 20592(R30)
1570
;__Lib_USB.c, 2209 ::
1571
L_end_USB_Configure:
1572
0x9D001A2C      0x03E00008  JR  RA
1573
0x9D001A30      0x27BD0004  ADDIU       SP, SP, 4
1574
; end of __Lib_USB_USB_Configure
1575
__Lib_USB_USB_Attach_Device:
1576
;__Lib_USB.c, 4800 ::
1577
0x9D002CE8      0x27BDFFFC  ADDIU       SP, SP, -4
1578
0x9D002CEC      0xAFBF0000  SW  RA, 0(SP)
1579
;__Lib_USB.c, 4802 ::
1580
0x9D002CF0      0x9022ABF5  LBU R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
1581
0x9D002CF4      0x14400016  BNE R2, R0, L___Lib_USB_USB_Attach_Device196
1582
0x9D002CF8      0x70000000  NOP
1583
L___Lib_USB_USB_Attach_Device525:
1584
;__Lib_USB.c, 4806 ::
1585
0x9D002CFC      0x3C1EBF88  LUI R30, 49032
1586
0x9D002D00      0xAFC05250  SW  R0, 21072(R30)
1587
;__Lib_USB.c, 4809 ::
1588
0x9D002D04      0x3C1EBF88  LUI R30, 49032
1589
;__Lib_USB.c, 4813 ::
1590
0x9D002D08      0x0F400679  JAL __Lib_USB_USB_Configure+0
1591
0x9D002D0C      0xAFC05210  SW  R0, 21008(R30)
1592
;__Lib_USB.c, 4816 ::
1593
0x9D002D10      0x34020002  ORI R2, R0, 0x0002
1594
0x9D002D14      0x3C1EBF88  LUI R30, 49032
1595
0x9D002D18      0xA3C2107B  SB  R2, 4219(R30)
1596
;__Lib_USB.c, 4825 ::
1597
L___Lib_USB_USB_Attach_Device198:
1598
0x9D002D1C      0x3C1EBF88  LUI R30, 49032
1599
0x9D002D20      0x83C25250  LB  R2, 21072(R30)
1600
0x9D002D24      0x7C420000  EXT R2, R2, 0, 1
1601
0x9D002D28      0x14400007  BNE R2, R0, L___Lib_USB_USB_Attach_Device199
1602
0x9D002D2C      0x70000000  NOP
1603
L___Lib_USB_USB_Attach_Device526:
1604
;__Lib_USB.c, 4826 ::
1605
0x9D002D30      0x3C1EBF88  LUI R30, 49032
1606
0x9D002D34      0x83C25250  LB  R2, 21072(R30)
1607
0x9D002D38      0x34420001  ORI R2, R2, 0x0001
1608
0x9D002D3C      0x3C1EBF88  LUI R30, 49032
1609
;__Lib_USB.c, 4827 ::
1610
0x9D002D40      0x0B400B47  J   L___Lib_USB_USB_Attach_Device198
1611
0x9D002D44      0xA3C25250  SB  R2, 21072(R30)
1612
L___Lib_USB_USB_Attach_Device199:
1613
;__Lib_USB.c, 4830 ::
1614
0x9D002D48      0x34020001  ORI R2, R0, 1
1615
0x9D002D4C      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
1616
;__Lib_USB.c, 4833 ::
1617
L___Lib_USB_USB_Attach_Device196:
1618
;__Lib_USB.c, 4834 ::
1619
L_end_USB_Attach_Device:
1620
0x9D002D50      0x8FBF0000  LW  RA, 0(SP)
1621
0x9D002D54      0x03E00008  JR  RA
1622
0x9D002D58      0x27BD0004  ADDIU       SP, SP, 4
1623
; end of __Lib_USB_USB_Attach_Device
1624
_USB_Polling_Proc:
1625
;__Lib_USB.c, 3097 ::
1626
0x9D003FA0      0x27BDFFFC  ADDIU       SP, SP, -4
1627
0x9D003FA4      0xAFBF0000  SW  RA, 0(SP)
1628
;__Lib_USB.c, 3099 ::
1629
0x9D003FA8      0x0F400C0C  JAL __Lib_USB_USB_Device_Service+0
1630
0x9D003FAC      0x70000000  NOP
1631
;__Lib_USB.c, 3100 ::
1632
L_end_USB_Polling_Proc:
1633
0x9D003FB0      0x8FBF0000  LW  RA, 0(SP)
1634
0x9D003FB4      0x03E00008  JR  RA
1635
0x9D003FB8      0x27BD0004  ADDIU       SP, SP, 4
1636
; end of _USB_Polling_Proc
1637
__Lib_USB_USB_Device_Service:
1638
;__Lib_USB.c, 2877 ::
1639
0x9D003030      0x27BDFFEC  ADDIU       SP, SP, -20
1640
0x9D003034      0xAFBF0000  SW  RA, 0(SP)
1641
;__Lib_USB.c, 2888 ::
1642
0x9D003038      0xAFB90004  SW  R25, 4(SP)
1643
0x9D00303C      0xAFBA0008  SW  R26, 8(SP)
1644
0x9D003040      0xAFBB000C  SW  R27, 12(SP)
1645
0x9D003044      0x0000180A  MOVZ        R3, R0, R0
1646
0x9D003048      0x34020000  ORI R2, R0, 0
1647
0x9D00304C      0x14620016  BNE R3, R2, L___Lib_USB_USB_Device_Service15
1648
0x9D003050      0x70000000  NOP
1649
L___Lib_USB_USB_Device_Service332:
1650
;__Lib_USB.c, 2911 ::
1651
L___Lib_USB_USB_Device_Service16:
1652
;__Lib_USB.c, 2914 ::
1653
0x9D003054      0x9022ABF5  LBU R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
1654
0x9D003058      0x14400013  BNE R2, R0, L___Lib_USB_USB_Device_Service17
1655
0x9D00305C      0x70000000  NOP
1656
L___Lib_USB_USB_Device_Service333:
1657
;__Lib_USB.c, 2917 ::
1658
0x9D003060      0x3C1EBF88  LUI R30, 49032
1659
0x9D003064      0xAFC05250  SW  R0, 21072(R30)
1660
;__Lib_USB.c, 2920 ::
1661
0x9D003068      0x3C1EBF88  LUI R30, 49032
1662
;__Lib_USB.c, 2924 ::
1663
0x9D00306C      0x0F400679  JAL __Lib_USB_USB_Configure+0
1664
0x9D003070      0xAFC05210  SW  R0, 21008(R30)
1665
;__Lib_USB.c, 2927 ::
1666
L___Lib_USB_USB_Device_Service18:
1667
0x9D003074      0x3C1EBF88  LUI R30, 49032
1668
0x9D003078      0x83C25250  LB  R2, 21072(R30)
1669
0x9D00307C      0x7C420000  EXT R2, R2, 0, 1
1670
0x9D003080      0x14400007  BNE R2, R0, L___Lib_USB_USB_Device_Service19
1671
0x9D003084      0x70000000  NOP
1672
L___Lib_USB_USB_Device_Service334:
1673
0x9D003088      0x3C1EBF88  LUI R30, 49032
1674
0x9D00308C      0x83C25250  LB  R2, 21072(R30)
1675
0x9D003090      0x34420001  ORI R2, R2, 0x0001
1676
0x9D003094      0x3C1EBF88  LUI R30, 49032
1677
0x9D003098      0x0B400C1D  J   L___Lib_USB_USB_Device_Service18
1678
0x9D00309C      0xA3C25250  SB  R2, 21072(R30)
1679
L___Lib_USB_USB_Device_Service19:
1680
;__Lib_USB.c, 2930 ::
1681
0x9D0030A0      0x34020001  ORI R2, R0, 1
1682
0x9D0030A4      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
1683
;__Lib_USB.c, 2932 ::
1684
L___Lib_USB_USB_Device_Service17:
1685
;__Lib_USB.c, 2933 ::
1686
L___Lib_USB_USB_Device_Service15:
1687
;__Lib_USB.c, 2936 ::
1688
0x9D0030A8      0x9023ABF5  LBU R3, Offset(__Lib_USB_USBDeviceState+0)(GP)
1689
0x9D0030AC      0x34020001  ORI R2, R0, 1
1690
0x9D0030B0      0x14620016  BNE R3, R2, L___Lib_USB_USB_Device_Service20
1691
0x9D0030B4      0x70000000  NOP
1692
L___Lib_USB_USB_Device_Service335:
1693
;__Lib_USB.c, 2949 ::
1694
0x9D0030B8      0x340200FF  ORI R2, R0, 255
1695
0x9D0030BC      0x3C1EBF88  LUI R30, 49032
1696
0x9D0030C0      0xAFC25200  SW  R2, 20992(R30)
1697
;__Lib_USB.c, 2951 ::
1698
0x9D0030C4      0x0000180A  MOVZ        R3, R0, R0
1699
0x9D0030C8      0x34020000  ORI R2, R0, 0
1700
0x9D0030CC      0x14620003  BNE R3, R2, L___Lib_USB_USB_Device_Service22
1701
0x9D0030D0      0x70000000  NOP
1702
L___Lib_USB_USB_Device_Service336:
1703
;__Lib_USB.c, 2952 ::
1704
0x9D0030D4      0x3C1EBF88  LUI R30, 49032
1705
0x9D0030D8      0xAFC05210  SW  R0, 21008(R30)
1706
L___Lib_USB_USB_Device_Service22:
1707
;__Lib_USB.c, 2954 ::
1708
0x9D0030DC      0x3C1EBF88  LUI R30, 49032
1709
0x9D0030E0      0x83C25210  LB  R2, 21008(R30)
1710
0x9D0030E4      0x34420001  ORI R2, R2, 0x0001
1711
0x9D0030E8      0x3C1EBF88  LUI R30, 49032
1712
0x9D0030EC      0xA3C25210  SB  R2, 21008(R30)
1713
;__Lib_USB.c, 2955 ::
1714
0x9D0030F0      0x3C1EBF88  LUI R30, 49032
1715
0x9D0030F4      0x83C25210  LB  R2, 21008(R30)
1716
0x9D0030F8      0x34420010  ORI R2, R2, 0x0010
1717
0x9D0030FC      0x3C1EBF88  LUI R30, 49032
1718
0x9D003100      0xA3C25210  SB  R2, 21008(R30)
1719
;__Lib_USB.c, 2956 ::
1720
0x9D003104      0x34020002  ORI R2, R0, 2
1721
0x9D003108      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
1722
;__Lib_USB.c, 2958 ::
1723
L___Lib_USB_USB_Device_Service20:
1724
;__Lib_USB.c, 2964 ::
1725
0x9D00310C      0x3C1EBF88  LUI R30, 49032
1726
0x9D003110      0x83C25040  LB  R2, 20544(R30)
1727
0x9D003114      0x7C420100  EXT R2, R2, 4, 1
1728
0x9D003118      0x1040000A  BEQ R2, R0, L___Lib_USB_USB_Device_Service288
1729
0x9D00311C      0x70000000  NOP
1730
L___Lib_USB_USB_Device_Service338:
1731
0x9D003120      0x3C1EBF88  LUI R30, 49032
1732
0x9D003124      0x83C25050  LB  R2, 20560(R30)
1733
0x9D003128      0x7C420100  EXT R2, R2, 4, 1
1734
0x9D00312C      0x10400005  BEQ R2, R0, L___Lib_USB_USB_Device_Service287
1735
0x9D003130      0x70000000  NOP
1736
L___Lib_USB_USB_Device_Service340:
1737
L___Lib_USB_USB_Device_Service286:
1738
;__Lib_USB.c, 2966 ::
1739
0x9D003134      0x34020010  ORI R2, R0, 16
1740
0x9D003138      0x3C1EBF88  LUI R30, 49032
1741
;__Lib_USB.c, 2968 ::
1742
0x9D00313C      0x0F4007AC  JAL __Lib_USB_USB_Wake_From_Suspend+0
1743
0x9D003140      0xAFC25040  SW  R2, 20544(R30)
1744
;__Lib_USB.c, 2964 ::
1745
L___Lib_USB_USB_Device_Service288:
1746
L___Lib_USB_USB_Device_Service287:
1747
;__Lib_USB.c, 2975 ::
1748
0x9D003144      0x3C1EBF88  LUI R30, 49032
1749
0x9D003148      0x83C25080  LB  R2, 20608(R30)
1750
0x9D00314C      0x7C420040  EXT R2, R2, 1, 1
1751
0x9D003150      0x10400005  BEQ R2, 1, L___Lib_USB_USB_Device_Service26
1752
0x9D003154      0x70000000  NOP
1753
L___Lib_USB_USB_Device_Service342:
1754
;__Lib_USB.c, 2977 ::
1755
0x9D003158      0x0F400775  JAL __Lib_USB_USB_Clear_Interrupt+0
1756
0x9D00315C      0x70000000  NOP
1757
;__Lib_USB.c, 2978 ::
1758
0x9D003160      0x0B400D06  J   L_end_USB_Device_Service
1759
0x9D003164      0x70000000  NOP
1760
;__Lib_USB.c, 2979 ::
1761
L___Lib_USB_USB_Device_Service26:
1762
;__Lib_USB.c, 2991 ::
1763
0x9D003168      0x3C1EBF88  LUI R30, 49032
1764
0x9D00316C      0x83C25200  LB  R2, 20992(R30)
1765
0x9D003170      0x7C420000  EXT R2, R2, 0, 1
1766
0x9D003174      0x10400016  BEQ R2, R0, L___Lib_USB_USB_Device_Service290
1767
0x9D003178      0x70000000  NOP
1768
L___Lib_USB_USB_Device_Service344:
1769
0x9D00317C      0x3C1EBF88  LUI R30, 49032
1770
0x9D003180      0x83C25210  LB  R2, 21008(R30)
1771
0x9D003184      0x7C420000  EXT R2, R2, 0, 1
1772
0x9D003188      0x10400011  BEQ R2, R0, L___Lib_USB_USB_Device_Service289
1773
0x9D00318C      0x70000000  NOP
1774
L___Lib_USB_USB_Device_Service346:
1775
L___Lib_USB_USB_Device_Service285:
1776
;__Lib_USB.c, 2993 ::
1777
0x9D003190      0x0F400B6D  JAL __Lib_USB_USB_Device_Init+0
1778
0x9D003194      0x70000000  NOP
1779
;__Lib_USB.c, 2994 ::
1780
0x9D003198      0x34020004  ORI R2, R0, 4
1781
0x9D00319C      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
1782
;__Lib_USB.c, 2997 ::
1783
0x9D0031A0      0x34030001  ORI R3, R0, 1
1784
0x9D0031A4      0x34020000  ORI R2, R0, 0
1785
0x9D0031A8      0x14620004  BNE R3, R2, L___Lib_USB_USB_Device_Service30
1786
0x9D0031AC      0x70000000  NOP
1787
L___Lib_USB_USB_Device_Service347:
1788
;__Lib_USB.c, 2998 ::
1789
0x9D0031B0      0x34020002  ORI R2, R0, 0x0002
1790
0x9D0031B4      0x3C1EBF88  LUI R30, 49032
1791
0x9D0031B8      0xA3C2107B  SB  R2, 4219(R30)
1792
L___Lib_USB_USB_Device_Service30:
1793
;__Lib_USB.c, 3000 ::
1794
0x9D0031BC      0x34020004  ORI R2, R0, 4
1795
0x9D0031C0      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
1796
;__Lib_USB.c, 3002 ::
1797
0x9D0031C4      0x34020001  ORI R2, R0, 1
1798
0x9D0031C8      0x3C1EBF88  LUI R30, 49032
1799
0x9D0031CC      0xAFC25200  SW  R2, 20992(R30)
1800
;__Lib_USB.c, 2991 ::
1801
L___Lib_USB_USB_Device_Service290:
1802
L___Lib_USB_USB_Device_Service289:
1803
;__Lib_USB.c, 3008 ::
1804
0x9D0031D0      0x3C1EBF88  LUI R30, 49032
1805
0x9D0031D4      0x83C25200  LB  R2, 20992(R30)
1806
0x9D0031D8      0x7C420100  EXT R2, R2, 4, 1
1807
0x9D0031DC      0x1040000B  BEQ R2, R0, L___Lib_USB_USB_Device_Service292
1808
0x9D0031E0      0x70000000  NOP
1809
L___Lib_USB_USB_Device_Service349:
1810
0x9D0031E4      0x3C1EBF88  LUI R30, 49032
1811
0x9D0031E8      0x83C25210  LB  R2, 21008(R30)
1812
0x9D0031EC      0x7C420100  EXT R2, R2, 4, 1
1813
0x9D0031F0      0x10400006  BEQ R2, R0, L___Lib_USB_USB_Device_Service291
1814
0x9D0031F4      0x70000000  NOP
1815
L___Lib_USB_USB_Device_Service351:
1816
L___Lib_USB_USB_Device_Service284:
1817
;__Lib_USB.c, 3010 ::
1818
0x9D0031F8      0x0F40077B  JAL __Lib_USB_USB_Suspend+0
1819
0x9D0031FC      0x70000000  NOP
1820
;__Lib_USB.c, 3011 ::
1821
0x9D003200      0x34020010  ORI R2, R0, 16
1822
0x9D003204      0x3C1EBF88  LUI R30, 49032
1823
0x9D003208      0xAFC25200  SW  R2, 20992(R30)
1824
;__Lib_USB.c, 3008 ::
1825
L___Lib_USB_USB_Device_Service292:
1826
L___Lib_USB_USB_Device_Service291:
1827
;__Lib_USB.c, 3014 ::
1828
0x9D00320C      0x3C1EBF88  LUI R30, 49032
1829
0x9D003210      0x83C25200  LB  R2, 20992(R30)
1830
0x9D003214      0x7C420080  EXT R2, R2, 2, 1
1831
0x9D003218      0x1040000D  BEQ R2, R0, L___Lib_USB_USB_Device_Service34
1832
0x9D00321C      0x70000000  NOP
1833
L___Lib_USB_USB_Device_Service353:
1834
;__Lib_USB.c, 3016 ::
1835
0x9D003220      0x3C1EBF88  LUI R30, 49032
1836
0x9D003224      0x83C25210  LB  R2, 21008(R30)
1837
0x9D003228      0x7C420080  EXT R2, R2, 2, 1
1838
0x9D00322C      0x10400005  BEQ R2, R0, L___Lib_USB_USB_Device_Service35
1839
0x9D003230      0x70000000  NOP
1840
L___Lib_USB_USB_Device_Service355:
1841
;__Lib_USB.c, 3018 ::
1842
0x9D003234      0x341B0001  ORI R27, R0, 1
1843
0x9D003238      0x0000D00A  MOVZ        R26, R0, R0
1844
0x9D00323C      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
1845
0x9D003240      0x34190073  ORI R25, R0, 115
1846
;__Lib_USB.c, 3019 ::
1847
L___Lib_USB_USB_Device_Service35:
1848
;__Lib_USB.c, 3020 ::
1849
0x9D003244      0x34020004  ORI R2, R0, 4
1850
0x9D003248      0x3C1EBF88  LUI R30, 49032
1851
0x9D00324C      0xAFC25200  SW  R2, 20992(R30)
1852
;__Lib_USB.c, 3021 ::
1853
L___Lib_USB_USB_Device_Service34:
1854
;__Lib_USB.c, 3022 ::
1855
0x9D003250      0x3C1EBF88  LUI R30, 49032
1856
0x9D003254      0x83C25200  LB  R2, 20992(R30)
1857
0x9D003258      0x7C4201C0  EXT R2, R2, 7, 1
1858
0x9D00325C      0x10400008  BEQ R2, R0, L___Lib_USB_USB_Device_Service294
1859
0x9D003260      0x70000000  NOP
1860
L___Lib_USB_USB_Device_Service357:
1861
0x9D003264      0x3C1EBF88  LUI R30, 49032
1862
0x9D003268      0x83C25210  LB  R2, 21008(R30)
1863
0x9D00326C      0x7C4201C0  EXT R2, R2, 7, 1
1864
0x9D003270      0x10400003  BEQ R2, R0, L___Lib_USB_USB_Device_Service293
1865
0x9D003274      0x70000000  NOP
1866
L___Lib_USB_USB_Device_Service359:
1867
L___Lib_USB_USB_Device_Service283:
1868
;__Lib_USB.c, 3024 ::
1869
0x9D003278      0x0F400813  JAL __Lib_USB_USB_Stall_Handler+0
1870
0x9D00327C      0x70000000  NOP
1871
;__Lib_USB.c, 3022 ::
1872
L___Lib_USB_USB_Device_Service294:
1873
L___Lib_USB_USB_Device_Service293:
1874
;__Lib_USB.c, 3027 ::
1875
0x9D003280      0x3C1EBF88  LUI R30, 49032
1876
0x9D003284      0x83C25200  LB  R2, 20992(R30)
1877
0x9D003288      0x7C420040  EXT R2, R2, 1, 1
1878
0x9D00328C      0x10400010  BEQ R2, R0, L___Lib_USB_USB_Device_Service296
1879
0x9D003290      0x70000000  NOP
1880
L___Lib_USB_USB_Device_Service361:
1881
0x9D003294      0x3C1EBF88  LUI R30, 49032
1882
0x9D003298      0x83C25210  LB  R2, 21008(R30)
1883
0x9D00329C      0x7C420040  EXT R2, R2, 1, 1
1884
0x9D0032A0      0x1040000B  BEQ R2, R0, L___Lib_USB_USB_Device_Service295
1885
0x9D0032A4      0x70000000  NOP
1886
L___Lib_USB_USB_Device_Service363:
1887
L___Lib_USB_USB_Device_Service282:
1888
;__Lib_USB.c, 3029 ::
1889
0x9D0032A8      0x341B0001  ORI R27, R0, 1
1890
0x9D0032AC      0x0000D00A  MOVZ        R26, R0, R0
1891
0x9D0032B0      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
1892
0x9D0032B4      0x34193FFF  ORI R25, R0, 16383
1893
;__Lib_USB.c, 3030 ::
1894
0x9D0032B8      0x340200FF  ORI R2, R0, 255
1895
0x9D0032BC      0x3C1EBF88  LUI R30, 49032
1896
0x9D0032C0      0xAFC25220  SW  R2, 21024(R30)
1897
;__Lib_USB.c, 3031 ::
1898
0x9D0032C4      0x34020002  ORI R2, R0, 2
1899
0x9D0032C8      0x3C1EBF88  LUI R30, 49032
1900
0x9D0032CC      0xAFC25200  SW  R2, 20992(R30)
1901
;__Lib_USB.c, 3027 ::
1902
L___Lib_USB_USB_Device_Service296:
1903
L___Lib_USB_USB_Device_Service295:
1904
;__Lib_USB.c, 3039 ::
1905
0x9D0032D0      0x9022ABF5  LBU R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
1906
0x9D0032D4      0x2C420004  SLTIU       R2, R2, 4
1907
0x9D0032D8      0x10400005  BEQ R2, R0, L___Lib_USB_USB_Device_Service42
1908
0x9D0032DC      0x70000000  NOP
1909
L___Lib_USB_USB_Device_Service364:
1910
;__Lib_USB.c, 3041 ::
1911
0x9D0032E0      0x0F400775  JAL __Lib_USB_USB_Clear_Interrupt+0
1912
0x9D0032E4      0x70000000  NOP
1913
;__Lib_USB.c, 3042 ::
1914
0x9D0032E8      0x0B400D06  J   L_end_USB_Device_Service
1915
0x9D0032EC      0x70000000  NOP
1916
;__Lib_USB.c, 3043 ::
1917
L___Lib_USB_USB_Device_Service42:
1918
;__Lib_USB.c, 3048 ::
1919
0x9D0032F0      0x3C1EBF88  LUI R30, 49032
1920
0x9D0032F4      0x83C25210  LB  R2, 21008(R30)
1921
0x9D0032F8      0x7C4200C0  EXT R2, R2, 3, 1
1922
0x9D0032FC      0x10400044  BEQ R2, R0, L___Lib_USB_USB_Device_Service43
1923
0x9D003300      0x70000000  NOP
1924
L___Lib_USB_USB_Device_Service366:
1925
;__Lib_USB.c, 3050 ::
1926
; i start address is: 20 (R5)
1927
0x9D003304      0x0000280A  MOVZ        R5, R0, R0
1928
; i end address is: 20 (R5)
1929
L___Lib_USB_USB_Device_Service44:
1930
; i start address is: 20 (R5)
1931
0x9D003308      0x30A200FF  ANDI        R2, R5, 255
1932
0x9D00330C      0x2C420004  SLTIU       R2, R2, 4
1933
0x9D003310      0x1040003F  BEQ R2, R0, L___Lib_USB_USB_Device_Service45
1934
0x9D003314      0x70000000  NOP
1935
L___Lib_USB_USB_Device_Service367:
1936
;__Lib_USB.c, 3052 ::
1937
0x9D003318      0x3C1EBF88  LUI R30, 49032
1938
0x9D00331C      0x83C25200  LB  R2, 20992(R30)
1939
0x9D003320      0x7C4200C0  EXT R2, R2, 3, 1
1940
0x9D003324      0x10400035  BEQ R2, R0, L___Lib_USB_USB_Device_Service47
1941
0x9D003328      0x70000000  NOP
1942
L___Lib_USB_USB_Device_Service369:
1943
;__Lib_USB.c, 3055 ::
1944
0x9D00332C      0x3C1EBF88  LUI R30, 49032
1945
0x9D003330      0x8FC25240  LW  R2, 21056(R30)
1946
0x9D003334      0xA0228054  SB  R2, Offset(_USTATcopy+0)(GP)
1947
;__Lib_USB.c, 3056 ::
1948
0x9D003338      0x90228054  LBU R2, Offset(_USTATcopy+0)(GP)
1949
0x9D00333C      0x7C421900  EXT R2, R2, 4, 4
1950
0x9D003340      0xA0228047  SB  R2, Offset(_endpoint_number+0)(GP)
1951
;__Lib_USB.c, 3058 ::
1952
0x9D003344      0x34020008  ORI R2, R0, 8
1953
0x9D003348      0x3C1EBF88  LUI R30, 49032
1954
0x9D00334C      0xAFC25200  SW  R2, 20992(R30)
1955
;__Lib_USB.c, 3063 ::
1956
0x9D003350      0x90228054  LBU R2, Offset(_USTATcopy+0)(GP)
1957
0x9D003354      0x7C4200C0  EXT R2, R2, 3, 1
1958
0x9D003358      0x1440000D  BNE R2, R0, L___Lib_USB_USB_Device_Service48
1959
0x9D00335C      0x70000000  NOP
1960
L___Lib_USB_USB_Device_Service370:
1961
;__Lib_USB.c, 3065 ::
1962
0x9D003360      0x90238047  LBU R3, Offset(_endpoint_number+0)(GP)
1963
0x9D003364      0x3C02A000  LUI R2, hi_addr(_ep_data_out+0)
1964
0x9D003368      0x3442004E  ORI R2, R2, lo_addr(_ep_data_out+0)
1965
0x9D00336C      0x00432021  ADDU        R4, R2, R3
1966
0x9D003370      0x90820000  LBU R2, 0(R4)
1967
0x9D003374      0x7C420000  EXT R2, R2, 0, 1
1968
0x9D003378      0x38420001  XORI        R2, R2, 1
1969
0x9D00337C      0x304300FF  ANDI        R3, R2, 255
1970
0x9D003380      0x90820000  LBU R2, 0(R4)
1971
0x9D003384      0x7C620004  INS R2, R3, 0, 1
1972
;__Lib_USB.c, 3066 ::
1973
0x9D003388      0x0B400CEF  J   L___Lib_USB_USB_Device_Service49
1974
0x9D00338C      0xA0820000  SB  R2, 0(R4)
1975
L___Lib_USB_USB_Device_Service48:
1976
;__Lib_USB.c, 3069 ::
1977
0x9D003390      0x90238047  LBU R3, Offset(_endpoint_number+0)(GP)
1978
0x9D003394      0x3C02A000  LUI R2, hi_addr(_ep_data_in+0)
1979
0x9D003398      0x34422BE1  ORI R2, R2, lo_addr(_ep_data_in+0)
1980
0x9D00339C      0x00432021  ADDU        R4, R2, R3
1981
0x9D0033A0      0x90820000  LBU R2, 0(R4)
1982
0x9D0033A4      0x7C420000  EXT R2, R2, 0, 1
1983
0x9D0033A8      0x38420001  XORI        R2, R2, 1
1984
0x9D0033AC      0x304300FF  ANDI        R3, R2, 255
1985
0x9D0033B0      0x90820000  LBU R2, 0(R4)
1986
0x9D0033B4      0x7C620004  INS R2, R3, 0, 1
1987
0x9D0033B8      0xA0820000  SB  R2, 0(R4)
1988
;__Lib_USB.c, 3070 ::
1989
L___Lib_USB_USB_Device_Service49:
1990
;__Lib_USB.c, 3075 ::
1991
0x9D0033BC      0x90228047  LBU R2, Offset(_endpoint_number+0)(GP)
1992
0x9D0033C0      0x14400005  BNE R2, R0, L___Lib_USB_USB_Device_Service50
1993
0x9D0033C4      0x70000000  NOP
1994
L___Lib_USB_USB_Device_Service371:
1995
;__Lib_USB.c, 3077 ::
1996
0x9D0033C8      0x0F4007C4  JAL __Lib_USB_USB_Ctrl_EPService+0
1997
0x9D0033CC      0xA3A50010  SB  R5, 16(SP)
1998
;__Lib_USB.c, 3078 ::
1999
0x9D0033D0      0x0B400CFD  J   L___Lib_USB_USB_Device_Service51
2000
0x9D0033D4      0x93A50010  LBU R5, 16(SP)
2001
L___Lib_USB_USB_Device_Service50:
2002
;__Lib_USB.c, 3081 ::
2003
0x9D0033D8      0xA3A50010  SB  R5, 16(SP)
2004
0x9D0033DC      0x0000D80A  MOVZ        R27, R0, R0
2005
0x9D0033E0      0x3C1AA000  LUI R26, hi_addr(_USTATcopy+0)
2006
0x9D0033E4      0x375A0054  ORI R26, R26, lo_addr(_USTATcopy+0)
2007
0x9D0033E8      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
2008
0x9D0033EC      0x34190072  ORI R25, R0, 114
2009
0x9D0033F0      0x93A50010  LBU R5, 16(SP)
2010
;__Lib_USB.c, 3082 ::
2011
L___Lib_USB_USB_Device_Service51:
2012
;__Lib_USB.c, 3083 ::
2013
0x9D0033F4      0x0B400D01  J   L___Lib_USB_USB_Device_Service52
2014
0x9D0033F8      0x70000000  NOP
2015
; i end address is: 20 (R5)
2016
L___Lib_USB_USB_Device_Service47:
2017
;__Lib_USB.c, 3085 ::
2018
0x9D0033FC      0x0B400D04  J   L___Lib_USB_USB_Device_Service45
2019
0x9D003400      0x70000000  NOP
2020
L___Lib_USB_USB_Device_Service52:
2021
;__Lib_USB.c, 3050 ::
2022
; i start address is: 20 (R5)
2023
0x9D003404      0x24A20001  ADDIU       R2, R5, 1
2024
;__Lib_USB.c, 3086 ::
2025
; i end address is: 20 (R5)
2026
0x9D003408      0x0B400CC2  J   L___Lib_USB_USB_Device_Service44
2027
0x9D00340C      0x304500FF  ANDI        R5, R2, 255
2028
L___Lib_USB_USB_Device_Service45:
2029
;__Lib_USB.c, 3087 ::
2030
L___Lib_USB_USB_Device_Service43:
2031
;__Lib_USB.c, 3089 ::
2032
0x9D003410      0x0F400775  JAL __Lib_USB_USB_Clear_Interrupt+0
2033
0x9D003414      0x70000000  NOP
2034
;__Lib_USB.c, 3090 ::
2035
L_end_USB_Device_Service:
2036
0x9D003418      0x8FBB000C  LW  R27, 12(SP)
2037
0x9D00341C      0x8FBA0008  LW  R26, 8(SP)
2038
0x9D003420      0x8FB90004  LW  R25, 4(SP)
2039
0x9D003424      0x8FBF0000  LW  RA, 0(SP)
2040
0x9D003428      0x03E00008  JR  RA
2041
0x9D00342C      0x27BD0014  ADDIU       SP, SP, 20
2042
; end of __Lib_USB_USB_Device_Service
2043
__Lib_USB_USB_Wake_From_Suspend:
2044
;__Lib_USB.c, 3210 ::
2045
0x9D001EB0      0x27BDFFF0  ADDIU       SP, SP, -16
2046
0x9D001EB4      0xAFBF0000  SW  RA, 0(SP)
2047
;__Lib_USB.c, 3212 ::
2048
0x9D001EB8      0xAFB90004  SW  R25, 4(SP)
2049
0x9D001EBC      0xAFBA0008  SW  R26, 8(SP)
2050
0x9D001EC0      0xAFBB000C  SW  R27, 12(SP)
2051
0x9D001EC4      0xA020ACCB  SB  R0, Offset(_USBBusIsSuspended+0)(GP)
2052
;__Lib_USB.c, 3218 ::
2053
0x9D001EC8      0x0000D80A  MOVZ        R27, R0, R0
2054
0x9D001ECC      0x0000D00A  MOVZ        R26, R0, R0
2055
0x9D001ED0      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
2056
0x9D001ED4      0x34190074  ORI R25, R0, 116
2057
;__Lib_USB.c, 3220 ::
2058
0x9D001ED8      0x3C1EBF88  LUI R30, 49032
2059
0x9D001EDC      0x83C25050  LB  R2, 20560(R30)
2060
0x9D001EE0      0x7C022104  INS R2, R0, 4, 1
2061
0x9D001EE4      0x3C1EBF88  LUI R30, 49032
2062
0x9D001EE8      0xA3C25050  SB  R2, 20560(R30)
2063
;__Lib_USB.c, 3235 ::
2064
0x9D001EEC      0x34020010  ORI R2, R0, 16
2065
0x9D001EF0      0x3C1EBF88  LUI R30, 49032
2066
0x9D001EF4      0xAFC25040  SW  R2, 20544(R30)
2067
;__Lib_USB.c, 3238 ::
2068
L_end_USB_Wake_From_Suspend:
2069
0x9D001EF8      0x8FBB000C  LW  R27, 12(SP)
2070
0x9D001EFC      0x8FBA0008  LW  R26, 8(SP)
2071
0x9D001F00      0x8FB90004  LW  R25, 4(SP)
2072
0x9D001F04      0x8FBF0000  LW  RA, 0(SP)
2073
0x9D001F08      0x03E00008  JR  RA
2074
0x9D001F0C      0x27BD0010  ADDIU       SP, SP, 16
2075
; end of __Lib_USB_USB_Wake_From_Suspend
2076
__Lib_USB_USB_CB_Handler:
2077
;__Lib_USB.c, 5335 ::
2078
0x9D00176C      0x27BDFFFC  ADDIU       SP, SP, -4
2079
;__Lib_USB.c, 5336 ::
2080
0x9D001770      0x0B4005F4  J   L___Lib_USB_USB_CB_Handler222
2081
0x9D001774      0xAFBF0000  SW  RA, 0(SP)
2082
;__Lib_USB.c, 5337 ::
2083
L___Lib_USB_USB_CB_Handler224:
2084
;__Lib_USB.c, 5338 ::
2085
0x9D001778      0x0F400519  JAL __Lib_USB_USB_CB_Init_EP+0
2086
0x9D00177C      0x70000000  NOP
2087
;__Lib_USB.c, 5339 ::
2088
0x9D001780      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2089
0x9D001784      0x70000000  NOP
2090
;__Lib_USB.c, 5340 ::
2091
L___Lib_USB_USB_CB_Handler225:
2092
;__Lib_USB.c, 5342 ::
2093
0x9D001788      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2094
0x9D00178C      0x70000000  NOP
2095
;__Lib_USB.c, 5343 ::
2096
L___Lib_USB_USB_CB_Handler226:
2097
;__Lib_USB.c, 5344 ::
2098
0x9D001790      0x0F40042C  JAL __Lib_USB_USB_CB_Check_Other_Req+0
2099
0x9D001794      0x70000000  NOP
2100
;__Lib_USB.c, 5345 ::
2101
0x9D001798      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2102
0x9D00179C      0x70000000  NOP
2103
;__Lib_USB.c, 5346 ::
2104
L___Lib_USB_USB_CB_Handler227:
2105
;__Lib_USB.c, 5348 ::
2106
0x9D0017A0      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2107
0x9D0017A4      0x70000000  NOP
2108
;__Lib_USB.c, 5349 ::
2109
L___Lib_USB_USB_CB_Handler228:
2110
;__Lib_USB.c, 5351 ::
2111
0x9D0017A8      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2112
0x9D0017AC      0x70000000  NOP
2113
;__Lib_USB.c, 5352 ::
2114
L___Lib_USB_USB_CB_Handler229:
2115
;__Lib_USB.c, 5354 ::
2116
0x9D0017B0      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2117
0x9D0017B4      0x70000000  NOP
2118
;__Lib_USB.c, 5355 ::
2119
L___Lib_USB_USB_CB_Handler230:
2120
;__Lib_USB.c, 5357 ::
2121
0x9D0017B8      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2122
0x9D0017BC      0x70000000  NOP
2123
;__Lib_USB.c, 5358 ::
2124
L___Lib_USB_USB_CB_Handler231:
2125
;__Lib_USB.c, 5360 ::
2126
0x9D0017C0      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2127
0x9D0017C4      0x70000000  NOP
2128
;__Lib_USB.c, 5361 ::
2129
L___Lib_USB_USB_CB_Handler232:
2130
;__Lib_USB.c, 5362 ::
2131
0x9D0017C8      0x0B400616  J   L___Lib_USB_USB_CB_Handler223
2132
0x9D0017CC      0x70000000  NOP
2133
;__Lib_USB.c, 5363 ::
2134
L___Lib_USB_USB_CB_Handler222:
2135
0x9D0017D0      0x7C191E20  SEH R3, R25
2136
0x9D0017D4      0x34020001  ORI R2, R0, 1
2137
0x9D0017D8      0x1062FFE7  BEQ R3, R2, L___Lib_USB_USB_CB_Handler224
2138
0x9D0017DC      0x70000000  NOP
2139
L___Lib_USB_USB_CB_Handler563:
2140
0x9D0017E0      0x7C191E20  SEH R3, R25
2141
0x9D0017E4      0x34020002  ORI R2, R0, 2
2142
0x9D0017E8      0x1062FFE7  BEQ R3, R2, L___Lib_USB_USB_CB_Handler225
2143
0x9D0017EC      0x70000000  NOP
2144
L___Lib_USB_USB_CB_Handler565:
2145
0x9D0017F0      0x7C191E20  SEH R3, R25
2146
0x9D0017F4      0x34020003  ORI R2, R0, 3
2147
0x9D0017F8      0x1062FFE5  BEQ R3, R2, L___Lib_USB_USB_CB_Handler226
2148
0x9D0017FC      0x70000000  NOP
2149
L___Lib_USB_USB_CB_Handler567:
2150
0x9D001800      0x7C191E20  SEH R3, R25
2151
0x9D001804      0x34020073  ORI R2, R0, 115
2152
0x9D001808      0x1062FFE5  BEQ R3, R2, L___Lib_USB_USB_CB_Handler227
2153
0x9D00180C      0x70000000  NOP
2154
L___Lib_USB_USB_CB_Handler569:
2155
0x9D001810      0x7C191E20  SEH R3, R25
2156
0x9D001814      0x34020075  ORI R2, R0, 117
2157
0x9D001818      0x1062FFE3  BEQ R3, R2, L___Lib_USB_USB_CB_Handler228
2158
0x9D00181C      0x70000000  NOP
2159
L___Lib_USB_USB_CB_Handler571:
2160
0x9D001820      0x7C191E20  SEH R3, R25
2161
0x9D001824      0x34020074  ORI R2, R0, 116
2162
0x9D001828      0x1062FFE1  BEQ R3, R2, L___Lib_USB_USB_CB_Handler229
2163
0x9D00182C      0x70000000  NOP
2164
L___Lib_USB_USB_CB_Handler573:
2165
0x9D001830      0x7C191E20  SEH R3, R25
2166
0x9D001834      0x34023FFF  ORI R2, R0, 16383
2167
0x9D001838      0x1062FFDF  BEQ R3, R2, L___Lib_USB_USB_CB_Handler230
2168
0x9D00183C      0x70000000  NOP
2169
L___Lib_USB_USB_CB_Handler575:
2170
0x9D001840      0x7C191E20  SEH R3, R25
2171
0x9D001844      0x34020072  ORI R2, R0, 114
2172
0x9D001848      0x1062FFDD  BEQ R3, R2, L___Lib_USB_USB_CB_Handler231
2173
0x9D00184C      0x70000000  NOP
2174
L___Lib_USB_USB_CB_Handler577:
2175
0x9D001850      0x0B4005F2  J   L___Lib_USB_USB_CB_Handler232
2176
0x9D001854      0x70000000  NOP
2177
L___Lib_USB_USB_CB_Handler223:
2178
;__Lib_USB.c, 5364 ::
2179
0x9D001858      0x34020001  ORI R2, R0, 1
2180
;__Lib_USB.c, 5365 ::
2181
L_end_USB_CB_Handler:
2182
0x9D00185C      0x8FBF0000  LW  RA, 0(SP)
2183
0x9D001860      0x03E00008  JR  RA
2184
0x9D001864      0x27BD0004  ADDIU       SP, SP, 4
2185
; end of __Lib_USB_USB_CB_Handler
2186
__Lib_USB_USB_CB_Init_EP:
2187
;__Lib_USB.c, 5218 ::
2188
0x9D001464      0x27BDFFEC  ADDIU       SP, SP, -20
2189
0x9D001468      0xAFBF0000  SW  RA, 0(SP)
2190
;__Lib_USB.c, 5220 ::
2191
0x9D00146C      0xAFB90004  SW  R25, 4(SP)
2192
0x9D001470      0xAFBA0008  SW  R26, 8(SP)
2193
0x9D001474      0xAFBB000C  SW  R27, 12(SP)
2194
0x9D001478      0xAFBC0010  SW  R28, 16(SP)
2195
0x9D00147C      0x9022ACF0  LBU R2, Offset(__Lib_USB__Is_HID+0)(GP)
2196
0x9D001480      0x1040000B  BEQ R2, R0, L___Lib_USB_USB_CB_Init_EP220
2197
0x9D001484      0x70000000  NOP
2198
L___Lib_USB_USB_CB_Init_EP560:
2199
;__Lib_USB.c, 5222 ::
2200
0x9D001488      0x341A001D  ORI R26, R0, 29
2201
0x9D00148C      0x0F4001A0  JAL __Lib_USB_USB_Enable_Endpoint+0
2202
0x9D001490      0x34190001  ORI R25, R0, 1
2203
;__Lib_USB.c, 5224 ::
2204
0x9D001494      0x341C0040  ORI R28, R0, 64
2205
0x9D001498      0x8C3BAC98  LW  R27, Offset(__Lib_USB_USB_Read_Buffer+0)(GP)
2206
0x9D00149C      0x0000D00A  MOVZ        R26, R0, R0
2207
0x9D0014A0      0x0F4001BB  JAL __Lib_USB_USB_Transfer_Packet+0
2208
0x9D0014A4      0x34190001  ORI R25, R0, 1
2209
;__Lib_USB.c, 5226 ::
2210
0x9D0014A8      0x0B400535  J   L___Lib_USB_USB_CB_Init_EP221
2211
0x9D0014AC      0xAC22ACA4  SW  R2, Offset(__Lib_USB_USB_Out_Handle+0)(GP)
2212
L___Lib_USB_USB_CB_Init_EP220:
2213
;__Lib_USB.c, 5227 ::
2214
0x9D0014B0      0x341A001D  ORI R26, R0, 29
2215
0x9D0014B4      0x0F4001A0  JAL __Lib_USB_USB_Enable_Endpoint+0
2216
0x9D0014B8      0x34190001  ORI R25, R0, 1
2217
;__Lib_USB.c, 5228 ::
2218
0x9D0014BC      0x341C0040  ORI R28, R0, 64
2219
0x9D0014C0      0x8C3BAC98  LW  R27, Offset(__Lib_USB_USB_Read_Buffer+0)(GP)
2220
0x9D0014C4      0x0000D00A  MOVZ        R26, R0, R0
2221
0x9D0014C8      0x0F4001BB  JAL __Lib_USB_USB_Transfer_Packet+0
2222
0x9D0014CC      0x34190001  ORI R25, R0, 1
2223
0x9D0014D0      0xAC22ACA4  SW  R2, Offset(__Lib_USB_USB_Out_Handle+0)(GP)
2224
;__Lib_USB.c, 5230 ::
2225
L___Lib_USB_USB_CB_Init_EP221:
2226
;__Lib_USB.c, 5231 ::
2227
L_end_USB_CB_Init_EP:
2228
0x9D0014D4      0x8FBC0010  LW  R28, 16(SP)
2229
0x9D0014D8      0x8FBB000C  LW  R27, 12(SP)
2230
0x9D0014DC      0x8FBA0008  LW  R26, 8(SP)
2231
0x9D0014E0      0x8FB90004  LW  R25, 4(SP)
2232
0x9D0014E4      0x8FBF0000  LW  RA, 0(SP)
2233
0x9D0014E8      0x03E00008  JR  RA
2234
0x9D0014EC      0x27BD0014  ADDIU       SP, SP, 20
2235
; end of __Lib_USB_USB_CB_Init_EP
2236
__Lib_USB_USB_Enable_Endpoint:
2237
;__Lib_USB.c, 4545 ::
2238
0x9D000680      0x27BDFFF8  ADDIU       SP, SP, -8
2239
0x9D000684      0xAFBF0000  SW  RA, 0(SP)
2240
;__Lib_USB.c, 4550 ::
2241
0x9D000688      0x33420008  ANDI        R2, R26, 8
2242
0x9D00068C      0x10400005  BEQ R2, R0, L___Lib_USB_USB_Enable_Endpoint189
2243
0x9D000690      0x70000000  NOP
2244
L___Lib_USB_USB_Enable_Endpoint514:
2245
;__Lib_USB.c, 4552 ::
2246
0x9D000694      0xA3BA0004  SB  R26, 4(SP)
2247
0x9D000698      0x0F40000C  JAL __Lib_USB_USB_Configure_Endpoint+0
2248
0x9D00069C      0x0000D00A  MOVZ        R26, R0, R0
2249
0x9D0006A0      0x93BA0004  LBU R26, 4(SP)
2250
;__Lib_USB.c, 4553 ::
2251
L___Lib_USB_USB_Enable_Endpoint189:
2252
;__Lib_USB.c, 4554 ::
2253
0x9D0006A4      0x33420004  ANDI        R2, R26, 4
2254
0x9D0006A8      0x10400005  BEQ R2, R0, L___Lib_USB_USB_Enable_Endpoint190
2255
0x9D0006AC      0x70000000  NOP
2256
L___Lib_USB_USB_Enable_Endpoint516:
2257
;__Lib_USB.c, 4556 ::
2258
0x9D0006B0      0xA3BA0004  SB  R26, 4(SP)
2259
0x9D0006B4      0x0F40000C  JAL __Lib_USB_USB_Configure_Endpoint+0
2260
0x9D0006B8      0x341A0001  ORI R26, R0, 1
2261
0x9D0006BC      0x93BA0004  LBU R26, 4(SP)
2262
;__Lib_USB.c, 4557 ::
2263
L___Lib_USB_USB_Enable_Endpoint190:
2264
;__Lib_USB.c, 4563 ::
2265
0x9D0006C0      0x332200FF  ANDI        R2, R25, 255
2266
0x9D0006C4      0x00021080  SLL R2, R2, 2
2267
0x9D0006C8      0x7C021620  SEH R2, R2
2268
0x9D0006CC      0x00021880  SLL R3, R2, 2
2269
0x9D0006D0      0x3C02BF88  LUI R2, hi_addr(U1EP0+0)
2270
0x9D0006D4      0x34425300  ORI R2, R2, lo_addr(U1EP0+0)
2271
0x9D0006D8      0x00431021  ADDU        R2, R2, R3
2272
;__Lib_USB.c, 4567 ::
2273
0x9D0006DC      0xA05A0000  SB  R26, 0(R2)
2274
;__Lib_USB.c, 4568 ::
2275
L_end_USB_Enable_Endpoint:
2276
0x9D0006E0      0x8FBF0000  LW  RA, 0(SP)
2277
0x9D0006E4      0x03E00008  JR  RA
2278
0x9D0006E8      0x27BD0008  ADDIU       SP, SP, 8
2279
; end of __Lib_USB_USB_Enable_Endpoint
2280
__Lib_USB_USB_Configure_Endpoint:
2281
;__Lib_USB.c, 4457 ::
2282
0x9D000030      0x27BDFFFC  ADDIU       SP, SP, -4
2283
;__Lib_USB.c, 4461 ::
2284
; handle start address is: 16 (R4)
2285
0x9D000034      0x3C04A000  LUI R4, 40960
2286
0x9D000038      0x34840000  ORI R4, R4, 0
2287
;__Lib_USB.c, 4462 ::
2288
0x9D00003C      0x332200FF  ANDI        R2, R25, 255
2289
0x9D000040      0x00021880  SLL R3, R2, 2
2290
0x9D000044      0x334200FF  ANDI        R2, R26, 255
2291
0x9D000048      0x00021040  SLL R2, R2, 1
2292
0x9D00004C      0x00621021  ADDU        R2, R3, R2
2293
0x9D000050      0x7C021620  SEH R2, R2
2294
0x9D000054      0x000210C0  SLL R2, R2, 3
2295
0x9D000058      0x00821821  ADDU        R3, R4, R2
2296
0x9D00005C      0x0060200A  MOVZ        R4, R3, R0
2297
;__Lib_USB.c, 4463 ::
2298
0x9D000060      0x90620000  LBU R2, 0(R3)
2299
0x9D000064      0x7C0239C4  INS R2, R0, 7, 1
2300
0x9D000068      0xA0620000  SB  R2, 0(R3)
2301
;__Lib_USB.c, 4468 ::
2302
0x9D00006C      0x334200FF  ANDI        R2, R26, 255
2303
0x9D000070      0x14400008  BNE R2, R0, L___Lib_USB_USB_Configure_Endpoint187
2304
0x9D000074      0x70000000  NOP
2305
L___Lib_USB_USB_Configure_Endpoint511:
2306
;__Lib_USB.c, 4469 ::
2307
0x9D000078      0x332200FF  ANDI        R2, R25, 255
2308
0x9D00007C      0x00021880  SLL R3, R2, 2
2309
0x9D000080      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_OutPtr+0)
2310
0x9D000084      0x34422CCC  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_OutPtr+0)
2311
0x9D000088      0x00431021  ADDU        R2, R2, R3
2312
;__Lib_USB.c, 4470 ::
2313
0x9D00008C      0x0B40002B  J   L___Lib_USB_USB_Configure_Endpoint188
2314
0x9D000090      0xAC440000  SW  R4, 0(R2)
2315
L___Lib_USB_USB_Configure_Endpoint187:
2316
;__Lib_USB.c, 4471 ::
2317
0x9D000094      0x332200FF  ANDI        R2, R25, 255
2318
0x9D000098      0x00021880  SLL R3, R2, 2
2319
0x9D00009C      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_InPtr+0)
2320
0x9D0000A0      0x34422C9C  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_InPtr+0)
2321
0x9D0000A4      0x00431021  ADDU        R2, R2, R3
2322
0x9D0000A8      0xAC440000  SW  R4, 0(R2)
2323
;__Lib_USB.c, 4472 ::
2324
L___Lib_USB_USB_Configure_Endpoint188:
2325
;__Lib_USB.c, 4478 ::
2326
0x9D0000AC      0x90820000  LBU R2, 0(R4)
2327
0x9D0000B0      0x7C023184  INS R2, R0, 6, 1
2328
0x9D0000B4      0xA0820000  SB  R2, 0(R4)
2329
;__Lib_USB.c, 4479 ::
2330
0x9D0000B8      0x24830008  ADDIU       R3, R4, 8
2331
; handle end address is: 16 (R4)
2332
0x9D0000BC      0x90620000  LBU R2, 0(R3)
2333
0x9D0000C0      0x34420040  ORI R2, R2, 64
2334
0x9D0000C4      0xA0620000  SB  R2, 0(R3)
2335
;__Lib_USB.c, 4494 ::
2336
L_end_USB_Configure_Endpoint:
2337
0x9D0000C8      0x03E00008  JR  RA
2338
0x9D0000CC      0x27BD0004  ADDIU       SP, SP, 4
2339
; end of __Lib_USB_USB_Configure_Endpoint
2340
__Lib_USB_USB_Transfer_Packet:
2341
;__Lib_USB.c, 4639 ::
2342
0x9D0006EC      0x27BDFFFC  ADDIU       SP, SP, -4
2343
;__Lib_USB.c, 4642 ::
2344
0x9D0006F0      0x334200FF  ANDI        R2, R26, 255
2345
0x9D0006F4      0x10400009  BEQ R2, R0, L___Lib_USB_USB_Transfer_Packet191
2346
0x9D0006F8      0x70000000  NOP
2347
L___Lib_USB_USB_Transfer_Packet519:
2348
;__Lib_USB.c, 4644 ::
2349
0x9D0006FC      0x332200FF  ANDI        R2, R25, 255
2350
0x9D000700      0x00021880  SLL R3, R2, 2
2351
0x9D000704      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_InPtr+0)
2352
0x9D000708      0x34422C9C  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_InPtr+0)
2353
0x9D00070C      0x00431021  ADDU        R2, R2, R3
2354
0x9D000710      0x8C420000  LW  R2, 0(R2)
2355
; handle start address is: 20 (R5)
2356
;__Lib_USB.c, 4645 ::
2357
; handle end address is: 20 (R5)
2358
0x9D000714      0x0B4001CE  J   L___Lib_USB_USB_Transfer_Packet192
2359
0x9D000718      0x0040280A  MOVZ        R5, R2, R0
2360
L___Lib_USB_USB_Transfer_Packet191:
2361
;__Lib_USB.c, 4647 ::
2362
0x9D00071C      0x332200FF  ANDI        R2, R25, 255
2363
0x9D000720      0x00021880  SLL R3, R2, 2
2364
0x9D000724      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_OutPtr+0)
2365
0x9D000728      0x34422CCC  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_OutPtr+0)
2366
0x9D00072C      0x00431021  ADDU        R2, R2, R3
2367
0x9D000730      0x8C420000  LW  R2, 0(R2)
2368
; handle start address is: 20 (R5)
2369
0x9D000734      0x0040280A  MOVZ        R5, R2, R0
2370
; handle end address is: 20 (R5)
2371
;__Lib_USB.c, 4648 ::
2372
L___Lib_USB_USB_Transfer_Packet192:
2373
;__Lib_USB.c, 4652 ::
2374
; handle start address is: 20 (R5)
2375
0x9D000738      0x14A00003  BNE R5, R0, L___Lib_USB_USB_Transfer_Packet193
2376
0x9D00073C      0x70000000  NOP
2377
L___Lib_USB_USB_Transfer_Packet520:
2378
; handle end address is: 20 (R5)
2379
;__Lib_USB.c, 4654 ::
2380
0x9D000740      0x0B4001F7  J   L_end_USB_Transfer_Packet
2381
0x9D000744      0x0000100A  MOVZ        R2, R0, R0
2382
;__Lib_USB.c, 4655 ::
2383
L___Lib_USB_USB_Transfer_Packet193:
2384
;__Lib_USB.c, 4667 ::
2385
; handle start address is: 20 (R5)
2386
0x9D000748      0x24A30004  ADDIU       R3, R5, 4
2387
0x9D00074C      0x3C021FFF  LUI R2, 8191
2388
0x9D000750      0x3442FFFF  ORI R2, R2, 65535
2389
0x9D000754      0x03621024  AND R2, R27, R2
2390
0x9D000758      0xAC620000  SW  R2, 0(R3)
2391
;__Lib_USB.c, 4668 ::
2392
0x9D00075C      0x24A40002  ADDIU       R4, R5, 2
2393
0x9D000760      0x338300FF  ANDI        R3, R28, 255
2394
0x9D000764      0x94820000  LHU R2, 0(R4)
2395
0x9D000768      0x7C624804  INS R2, R3, 0, 10
2396
0x9D00076C      0xA4820000  SH  R2, 0(R4)
2397
;__Lib_USB.c, 4669 ::
2398
0x9D000770      0x94A20000  LHU R2, 0(R5)
2399
0x9D000774      0x30420040  ANDI        R2, R2, 64
2400
0x9D000778      0xA4A20000  SH  R2, 0(R5)
2401
;__Lib_USB.c, 4670 ::
2402
0x9D00077C      0x94A20000  LHU R2, 0(R5)
2403
0x9D000780      0x34420088  ORI R2, R2, 136
2404
0x9D000784      0xA4A20000  SH  R2, 0(R5)
2405
;__Lib_USB.c, 4673 ::
2406
0x9D000788      0x334200FF  ANDI        R2, R26, 255
2407
0x9D00078C      0x1040000A  BEQ R2, R0, L___Lib_USB_USB_Transfer_Packet194
2408
0x9D000790      0x70000000  NOP
2409
L___Lib_USB_USB_Transfer_Packet522:
2410
;__Lib_USB.c, 4675 ::
2411
0x9D000794      0x332200FF  ANDI        R2, R25, 255
2412
0x9D000798      0x00021880  SLL R3, R2, 2
2413
0x9D00079C      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_InPtr+0)
2414
0x9D0007A0      0x34422C9C  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_InPtr+0)
2415
0x9D0007A4      0x00431821  ADDU        R3, R2, R3
2416
0x9D0007A8      0x90620000  LBU R2, 0(R3)
2417
0x9D0007AC      0x38420008  XORI        R2, R2, 8
2418
;__Lib_USB.c, 4676 ::
2419
0x9D0007B0      0x0B4001F6  J   L___Lib_USB_USB_Transfer_Packet195
2420
0x9D0007B4      0xA0620000  SB  R2, 0(R3)
2421
L___Lib_USB_USB_Transfer_Packet194:
2422
;__Lib_USB.c, 4678 ::
2423
0x9D0007B8      0x332200FF  ANDI        R2, R25, 255
2424
0x9D0007BC      0x00021880  SLL R3, R2, 2
2425
0x9D0007C0      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_OutPtr+0)
2426
0x9D0007C4      0x34422CCC  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_OutPtr+0)
2427
0x9D0007C8      0x00431821  ADDU        R3, R2, R3
2428
0x9D0007CC      0x90620000  LBU R2, 0(R3)
2429
0x9D0007D0      0x38420008  XORI        R2, R2, 8
2430
0x9D0007D4      0xA0620000  SB  R2, 0(R3)
2431
;__Lib_USB.c, 4679 ::
2432
L___Lib_USB_USB_Transfer_Packet195:
2433
;__Lib_USB.c, 4680 ::
2434
0x9D0007D8      0x00A0100A  MOVZ        R2, R5, R0
2435
; handle end address is: 20 (R5)
2436
;__Lib_USB.c, 4681 ::
2437
L_end_USB_Transfer_Packet:
2438
0x9D0007DC      0x03E00008  JR  RA
2439
0x9D0007E0      0x27BD0004  ADDIU       SP, SP, 4
2440
; end of __Lib_USB_USB_Transfer_Packet
2441
__Lib_USB_USB_CB_Check_Other_Req:
2442
;__Lib_USB.c, 5168 ::
2443
0x9D0010B0      0x27BDFFFC  ADDIU       SP, SP, -4
2444
0x9D0010B4      0xAFBF0000  SW  RA, 0(SP)
2445
;__Lib_USB.c, 5169 ::
2446
0x9D0010B8      0x9022ACF0  LBU R2, Offset(__Lib_USB__Is_HID+0)(GP)
2447
0x9D0010BC      0x10400003  BEQ R2, R0, L___Lib_USB_USB_CB_Check_Other_Req219
2448
0x9D0010C0      0x70000000  NOP
2449
L___Lib_USB_USB_CB_Check_Other_Req557:
2450
;__Lib_USB.c, 5170 ::
2451
0x9D0010C4      0x0F40011B  JAL __Lib_USB_USB_Check_HID_Request+0
2452
0x9D0010C8      0x70000000  NOP
2453
;__Lib_USB.c, 5171 ::
2454
L___Lib_USB_USB_CB_Check_Other_Req219:
2455
;__Lib_USB.c, 5172 ::
2456
L_end_USB_CB_Check_Other_Req:
2457
0x9D0010CC      0x8FBF0000  LW  RA, 0(SP)
2458
0x9D0010D0      0x03E00008  JR  RA
2459
0x9D0010D4      0x27BD0004  ADDIU       SP, SP, 4
2460
; end of __Lib_USB_USB_CB_Check_Other_Req
2461
__Lib_USB_USB_Check_HID_Request:
2462
;__Lib_USB.c, 4875 ::
2463
0x9D00046C      0x27BDFFF0  ADDIU       SP, SP, -16
2464
0x9D000470      0xAFBF0000  SW  RA, 0(SP)
2465
;__Lib_USB.c, 4876 ::
2466
0x9D000474      0xAFB90004  SW  R25, 4(SP)
2467
0x9D000478      0xAFBA0008  SW  R26, 8(SP)
2468
0x9D00047C      0xAFBB000C  SW  R27, 12(SP)
2469
0x9D000480      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
2470
0x9D000484      0x7C422000  EXT R2, R2, 0, 5
2471
0x9D000488      0x304300FF  ANDI        R3, R2, 255
2472
0x9D00048C      0x34020001  ORI R2, R0, 1
2473
0x9D000490      0x10620003  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request200
2474
0x9D000494      0x70000000  NOP
2475
L___Lib_USB_USB_Check_HID_Request529:
2476
0x9D000498      0x0B40019A  J   L_end_USB_Check_HID_Request
2477
0x9D00049C      0x70000000  NOP
2478
L___Lib_USB_USB_Check_HID_Request200:
2479
;__Lib_USB.c, 4877 ::
2480
0x9D0004A0      0x9022ACBC  LBU R2, Offset(__Lib_USB_SetupPkt+4)(GP)
2481
0x9D0004A4      0x10400003  BEQ R2, R0, L___Lib_USB_USB_Check_HID_Request201
2482
0x9D0004A8      0x70000000  NOP
2483
L___Lib_USB_USB_Check_HID_Request531:
2484
0x9D0004AC      0x0B40019A  J   L_end_USB_Check_HID_Request
2485
0x9D0004B0      0x70000000  NOP
2486
L___Lib_USB_USB_Check_HID_Request201:
2487
;__Lib_USB.c, 4884 ::
2488
0x9D0004B4      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
2489
0x9D0004B8      0x34020006  ORI R2, R0, 6
2490
0x9D0004BC      0x1462002C  BNE R3, R2, L___Lib_USB_USB_Check_HID_Request202
2491
0x9D0004C0      0x70000000  NOP
2492
L___Lib_USB_USB_Check_HID_Request532:
2493
;__Lib_USB.c, 4885 ::
2494
0x9D0004C4      0x0B400150  J   L___Lib_USB_USB_Check_HID_Request203
2495
0x9D0004C8      0x70000000  NOP
2496
;__Lib_USB.c, 4886 ::
2497
L___Lib_USB_USB_Check_HID_Request205:
2498
;__Lib_USB.c, 4887 ::
2499
0x9D0004CC      0x9023ABF7  LBU R3, Offset(__Lib_USB_USBActiveConfiguration+0)(GP)
2500
0x9D0004D0      0x34020001  ORI R2, R0, 1
2501
0x9D0004D4      0x14620008  BNE R3, R2, L___Lib_USB_USB_Check_HID_Request206
2502
0x9D0004D8      0x70000000  NOP
2503
L___Lib_USB_USB_Check_HID_Request533:
2504
;__Lib_USB.c, 4888 ::
2505
0x9D0004DC      0x3C029D00  LUI R2, hi_addr(_configDescriptor1+0)
2506
0x9D0004E0      0x344249A8  ORI R2, R2, lo_addr(_configDescriptor1+0)
2507
0x9D0004E4      0x24420012  ADDIU       R2, R2, 18
2508
0x9D0004E8      0x341B0040  ORI R27, R0, 64
2509
0x9D0004EC      0x341A0009  ORI R26, R0, 9
2510
0x9D0004F0      0x0F400005  JAL __Lib_USB_USB_EP0_Send_ROM+0
2511
0x9D0004F4      0x0040C80A  MOVZ        R25, R2, R0
2512
;__Lib_USB.c, 4893 ::
2513
L___Lib_USB_USB_Check_HID_Request206:
2514
;__Lib_USB.c, 4894 ::
2515
0x9D0004F8      0x0B40015C  J   L___Lib_USB_USB_Check_HID_Request204
2516
0x9D0004FC      0x70000000  NOP
2517
;__Lib_USB.c, 4895 ::
2518
L___Lib_USB_USB_Check_HID_Request207:
2519
;__Lib_USB.c, 4896 ::
2520
0x9D000500      0x9023ABF7  LBU R3, Offset(__Lib_USB_USBActiveConfiguration+0)(GP)
2521
0x9D000504      0x34020001  ORI R2, R0, 1
2522
0x9D000508      0x14620007  BNE R3, R2, L___Lib_USB_USB_Check_HID_Request208
2523
0x9D00050C      0x70000000  NOP
2524
L___Lib_USB_USB_Check_HID_Request534:
2525
;__Lib_USB.c, 4897 ::
2526
0x9D000510      0x3C029D00  LUI R2, hi_addr(_hid_rpt_desc+0)
2527
0x9D000514      0x344249F4  ORI R2, R2, lo_addr(_hid_rpt_desc+0)
2528
0x9D000518      0x341B0040  ORI R27, R0, 64
2529
0x9D00051C      0x341A0021  ORI R26, R0, 33
2530
0x9D000520      0x0F400005  JAL __Lib_USB_USB_EP0_Send_ROM+0
2531
0x9D000524      0x0040C80A  MOVZ        R25, R2, R0
2532
;__Lib_USB.c, 4902 ::
2533
L___Lib_USB_USB_Check_HID_Request208:
2534
;__Lib_USB.c, 4903 ::
2535
0x9D000528      0x0B40015C  J   L___Lib_USB_USB_Check_HID_Request204
2536
0x9D00052C      0x70000000  NOP
2537
;__Lib_USB.c, 4904 ::
2538
L___Lib_USB_USB_Check_HID_Request209:
2539
;__Lib_USB.c, 4905 ::
2540
0x9D000530      0x0F400000  JAL __Lib_USB_USB_EP0_Transmit_Options+0
2541
0x9D000534      0x0000C80A  MOVZ        R25, R0, R0
2542
;__Lib_USB.c, 4906 ::
2543
0x9D000538      0x0B40015C  J   L___Lib_USB_USB_Check_HID_Request204
2544
0x9D00053C      0x70000000  NOP
2545
;__Lib_USB.c, 4907 ::
2546
L___Lib_USB_USB_Check_HID_Request203:
2547
0x9D000540      0x9023ACBB  LBU R3, Offset(__Lib_USB_SetupPkt+3)(GP)
2548
0x9D000544      0x34020021  ORI R2, R0, 33
2549
0x9D000548      0x1062FFE0  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request205
2550
0x9D00054C      0x70000000  NOP
2551
L___Lib_USB_USB_Check_HID_Request536:
2552
0x9D000550      0x9023ACBB  LBU R3, Offset(__Lib_USB_SetupPkt+3)(GP)
2553
0x9D000554      0x34020022  ORI R2, R0, 34
2554
0x9D000558      0x1062FFE9  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request207
2555
0x9D00055C      0x70000000  NOP
2556
L___Lib_USB_USB_Check_HID_Request538:
2557
0x9D000560      0x9023ACBB  LBU R3, Offset(__Lib_USB_SetupPkt+3)(GP)
2558
0x9D000564      0x34020023  ORI R2, R0, 35
2559
0x9D000568      0x1062FFF1  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request209
2560
0x9D00056C      0x70000000  NOP
2561
L___Lib_USB_USB_Check_HID_Request540:
2562
L___Lib_USB_USB_Check_HID_Request204:
2563
;__Lib_USB.c, 4908 ::
2564
L___Lib_USB_USB_Check_HID_Request202:
2565
;__Lib_USB.c, 4910 ::
2566
0x9D000570      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
2567
0x9D000574      0x7C420940  EXT R2, R2, 5, 2
2568
0x9D000578      0x304300FF  ANDI        R3, R2, 255
2569
0x9D00057C      0x34020001  ORI R2, R0, 1
2570
0x9D000580      0x10620003  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request210
2571
0x9D000584      0x70000000  NOP
2572
L___Lib_USB_USB_Check_HID_Request542:
2573
;__Lib_USB.c, 4911 ::
2574
0x9D000588      0x0B40019A  J   L_end_USB_Check_HID_Request
2575
0x9D00058C      0x70000000  NOP
2576
;__Lib_USB.c, 4912 ::
2577
L___Lib_USB_USB_Check_HID_Request210:
2578
;__Lib_USB.c, 4914 ::
2579
0x9D000590      0x0B400182  J   L___Lib_USB_USB_Check_HID_Request211
2580
0x9D000594      0x70000000  NOP
2581
;__Lib_USB.c, 4915 ::
2582
L___Lib_USB_USB_Check_HID_Request213:
2583
;__Lib_USB.c, 4919 ::
2584
0x9D000598      0x0B40019A  J   L___Lib_USB_USB_Check_HID_Request212
2585
0x9D00059C      0x70000000  NOP
2586
;__Lib_USB.c, 4920 ::
2587
L___Lib_USB_USB_Check_HID_Request214:
2588
;__Lib_USB.c, 4924 ::
2589
0x9D0005A0      0x0B40019A  J   L___Lib_USB_USB_Check_HID_Request212
2590
0x9D0005A4      0x70000000  NOP
2591
;__Lib_USB.c, 4925 ::
2592
L___Lib_USB_USB_Check_HID_Request215:
2593
;__Lib_USB.c, 4926 ::
2594
0x9D0005A8      0x341B0040  ORI R27, R0, 64
2595
0x9D0005AC      0x341A0001  ORI R26, R0, 1
2596
0x9D0005B0      0x3C19A000  LUI R25, hi_addr(__Lib_USB_idle_rate+0)
2597
0x9D0005B4      0x0F40008A  JAL __Lib_USB_USB_EP0_Send_RAM+0
2598
0x9D0005B8      0x37392CC8  ORI R25, R25, lo_addr(__Lib_USB_idle_rate+0)
2599
;__Lib_USB.c, 4927 ::
2600
0x9D0005BC      0x0B40019A  J   L___Lib_USB_USB_Check_HID_Request212
2601
0x9D0005C0      0x70000000  NOP
2602
;__Lib_USB.c, 4928 ::
2603
L___Lib_USB_USB_Check_HID_Request216:
2604
;__Lib_USB.c, 4929 ::
2605
0x9D0005C4      0x0F400000  JAL __Lib_USB_USB_EP0_Transmit_Options+0
2606
0x9D0005C8      0x0000C80A  MOVZ        R25, R0, R0
2607
;__Lib_USB.c, 4930 ::
2608
0x9D0005CC      0x9022ACBB  LBU R2, Offset(__Lib_USB_SetupPkt+3)(GP)
2609
;__Lib_USB.c, 4931 ::
2610
0x9D0005D0      0x0B40019A  J   L___Lib_USB_USB_Check_HID_Request212
2611
0x9D0005D4      0xA022ACC8  SB  R2, Offset(__Lib_USB_idle_rate+0)(GP)
2612
;__Lib_USB.c, 4932 ::
2613
L___Lib_USB_USB_Check_HID_Request217:
2614
;__Lib_USB.c, 4933 ::
2615
0x9D0005D8      0x0000D80A  MOVZ        R27, R0, R0
2616
0x9D0005DC      0x341A0001  ORI R26, R0, 1
2617
0x9D0005E0      0x3C19A000  LUI R25, hi_addr(__Lib_USB_active_protocol+0)
2618
0x9D0005E4      0x0F40008A  JAL __Lib_USB_USB_EP0_Send_RAM+0
2619
0x9D0005E8      0x37392BF6  ORI R25, R25, lo_addr(__Lib_USB_active_protocol+0)
2620
;__Lib_USB.c, 4934 ::
2621
0x9D0005EC      0x0B40019A  J   L___Lib_USB_USB_Check_HID_Request212
2622
0x9D0005F0      0x70000000  NOP
2623
;__Lib_USB.c, 4935 ::
2624
L___Lib_USB_USB_Check_HID_Request218:
2625
;__Lib_USB.c, 4936 ::
2626
0x9D0005F4      0x0F400000  JAL __Lib_USB_USB_EP0_Transmit_Options+0
2627
0x9D0005F8      0x0000C80A  MOVZ        R25, R0, R0
2628
;__Lib_USB.c, 4937 ::
2629
0x9D0005FC      0x9022ACBA  LBU R2, Offset(__Lib_USB_SetupPkt+2)(GP)
2630
;__Lib_USB.c, 4938 ::
2631
0x9D000600      0x0B40019A  J   L___Lib_USB_USB_Check_HID_Request212
2632
0x9D000604      0xA022ABF6  SB  R2, Offset(__Lib_USB_active_protocol+0)(GP)
2633
;__Lib_USB.c, 4939 ::
2634
L___Lib_USB_USB_Check_HID_Request211:
2635
0x9D000608      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
2636
0x9D00060C      0x34020001  ORI R2, R0, 1
2637
0x9D000610      0x1062FFE1  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request213
2638
0x9D000614      0x70000000  NOP
2639
L___Lib_USB_USB_Check_HID_Request544:
2640
0x9D000618      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
2641
0x9D00061C      0x34020009  ORI R2, R0, 9
2642
0x9D000620      0x1062FFDF  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request214
2643
0x9D000624      0x70000000  NOP
2644
L___Lib_USB_USB_Check_HID_Request546:
2645
0x9D000628      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
2646
0x9D00062C      0x34020002  ORI R2, R0, 2
2647
0x9D000630      0x1062FFDD  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request215
2648
0x9D000634      0x70000000  NOP
2649
L___Lib_USB_USB_Check_HID_Request548:
2650
0x9D000638      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
2651
0x9D00063C      0x3402000A  ORI R2, R0, 10
2652
0x9D000640      0x1062FFE0  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request216
2653
0x9D000644      0x70000000  NOP
2654
L___Lib_USB_USB_Check_HID_Request550:
2655
0x9D000648      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
2656
0x9D00064C      0x34020003  ORI R2, R0, 3
2657
0x9D000650      0x1062FFE1  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request217
2658
0x9D000654      0x70000000  NOP
2659
L___Lib_USB_USB_Check_HID_Request552:
2660
0x9D000658      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
2661
0x9D00065C      0x3402000B  ORI R2, R0, 11
2662
0x9D000660      0x1062FFE4  BEQ R3, R2, L___Lib_USB_USB_Check_HID_Request218
2663
0x9D000664      0x70000000  NOP
2664
L___Lib_USB_USB_Check_HID_Request554:
2665
L___Lib_USB_USB_Check_HID_Request212:
2666
;__Lib_USB.c, 4941 ::
2667
L_end_USB_Check_HID_Request:
2668
0x9D000668      0x8FBB000C  LW  R27, 12(SP)
2669
0x9D00066C      0x8FBA0008  LW  R26, 8(SP)
2670
0x9D000670      0x8FB90004  LW  R25, 4(SP)
2671
0x9D000674      0x8FBF0000  LW  RA, 0(SP)
2672
0x9D000678      0x03E00008  JR  RA
2673
0x9D00067C      0x27BD0010  ADDIU       SP, SP, 16
2674
; end of __Lib_USB_USB_Check_HID_Request
2675
__Lib_USB_USB_EP0_Send_ROM:
2676
;__Lib_USB.c, 2555 ::
2677
0x9D000014      0x27BDFFFC  ADDIU       SP, SP, -4
2678
;__Lib_USB.c, 2556 ::
2679
0x9D000018      0xAC39ACC0  SW  R25, Offset(__Lib_USB_inPipes+0)(GP)
2680
;__Lib_USB.c, 2557 ::
2681
0x9D00001C      0xA43AACC6  SH  R26, Offset(__Lib_USB_inPipes+6)(GP)
2682
;__Lib_USB.c, 2558 ::
2683
0x9D000020      0x37620080  ORI R2, R27, 128
2684
0x9D000024      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
2685
;__Lib_USB.c, 2559 ::
2686
L_end_USB_EP0_Send_ROM:
2687
0x9D000028      0x03E00008  JR  RA
2688
0x9D00002C      0x27BD0004  ADDIU       SP, SP, 4
2689
; end of __Lib_USB_USB_EP0_Send_ROM
2690
__Lib_USB_USB_EP0_Transmit_Options:
2691
;__Lib_USB.c, 2496 ::
2692
0x9D000000      0x27BDFFFC  ADDIU       SP, SP, -4
2693
;__Lib_USB.c, 2497 ::
2694
0x9D000004      0x37220080  ORI R2, R25, 128
2695
0x9D000008      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
2696
;__Lib_USB.c, 2498 ::
2697
L_end_USB_EP0_Transmit_Options:
2698
0x9D00000C      0x03E00008  JR  RA
2699
0x9D000010      0x27BD0004  ADDIU       SP, SP, 4
2700
; end of __Lib_USB_USB_EP0_Transmit_Options
2701
__Lib_USB_USB_EP0_Send_RAM:
2702
;__Lib_USB.c, 2524 ::
2703
0x9D000228      0x27BDFFFC  ADDIU       SP, SP, -4
2704
;__Lib_USB.c, 2525 ::
2705
0x9D00022C      0xAC39ACC0  SW  R25, Offset(__Lib_USB_inPipes+0)(GP)
2706
;__Lib_USB.c, 2526 ::
2707
0x9D000230      0xA43AACC6  SH  R26, Offset(__Lib_USB_inPipes+6)(GP)
2708
;__Lib_USB.c, 2527 ::
2709
0x9D000234      0x37620080  ORI R2, R27, 128
2710
0x9D000238      0x34420001  ORI R2, R2, 1
2711
0x9D00023C      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
2712
;__Lib_USB.c, 2528 ::
2713
L_end_USB_EP0_Send_RAM:
2714
0x9D000240      0x03E00008  JR  RA
2715
0x9D000244      0x27BD0004  ADDIU       SP, SP, 4
2716
; end of __Lib_USB_USB_EP0_Send_RAM
2717
__Lib_USB_USB_Clear_Interrupt:
2718
;__Lib_USB.c, 2183 ::
2719
0x9D001DD4      0x27BDFFFC  ADDIU       SP, SP, -4
2720
0x9D001DD8      0x34020002  ORI R2, R0, 0x0002
2721
0x9D001DDC      0x3C1EBF88  LUI R30, 49032
2722
0x9D001DE0      0xA3C21047  SB  R2, 4167(R30)
2723
L_end_USB_Clear_Interrupt:
2724
0x9D001DE4      0x03E00008  JR  RA
2725
0x9D001DE8      0x27BD0004  ADDIU       SP, SP, 4
2726
; end of __Lib_USB_USB_Clear_Interrupt
2727
__Lib_USB_USB_Suspend:
2728
;__Lib_USB.c, 3160 ::
2729
0x9D001DEC      0x27BDFFF0  ADDIU       SP, SP, -16
2730
0x9D001DF0      0xAFBF0000  SW  RA, 0(SP)
2731
;__Lib_USB.c, 3184 ::
2732
0x9D001DF4      0xAFB90004  SW  R25, 4(SP)
2733
0x9D001DF8      0xAFBA0008  SW  R26, 8(SP)
2734
0x9D001DFC      0xAFBB000C  SW  R27, 12(SP)
2735
0x9D001E00      0x3C1EBF88  LUI R30, 49032
2736
0x9D001E04      0x83C25050  LB  R2, 20560(R30)
2737
0x9D001E08      0x34420010  ORI R2, R2, 0x0010
2738
0x9D001E0C      0x3C1EBF88  LUI R30, 49032
2739
0x9D001E10      0xA3C25050  SB  R2, 20560(R30)
2740
;__Lib_USB.c, 3185 ::
2741
0x9D001E14      0x34020010  ORI R2, R0, 16
2742
0x9D001E18      0x3C1EBF88  LUI R30, 49032
2743
0x9D001E1C      0xAFC25200  SW  R2, 20992(R30)
2744
;__Lib_USB.c, 3186 ::
2745
0x9D001E20      0x34020001  ORI R2, R0, 1
2746
0x9D001E24      0xA022ACCB  SB  R2, Offset(_USBBusIsSuspended+0)(GP)
2747
;__Lib_USB.c, 3192 ::
2748
0x9D001E28      0x0000D80A  MOVZ        R27, R0, R0
2749
0x9D001E2C      0x0000D00A  MOVZ        R26, R0, R0
2750
0x9D001E30      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
2751
0x9D001E34      0x34190075  ORI R25, R0, 117
2752
;__Lib_USB.c, 3193 ::
2753
L_end_USB_Suspend:
2754
0x9D001E38      0x8FBB000C  LW  R27, 12(SP)
2755
0x9D001E3C      0x8FBA0008  LW  R26, 8(SP)
2756
0x9D001E40      0x8FB90004  LW  R25, 4(SP)
2757
0x9D001E44      0x8FBF0000  LW  RA, 0(SP)
2758
0x9D001E48      0x03E00008  JR  RA
2759
0x9D001E4C      0x27BD0010  ADDIU       SP, SP, 16
2760
; end of __Lib_USB_USB_Suspend
2761
__Lib_USB_USB_Stall_Handler:
2762
;__Lib_USB.c, 3120 ::
2763
0x9D00204C      0x27BDFFFC  ADDIU       SP, SP, -4
2764
;__Lib_USB.c, 3132 ::
2765
0x9D002050      0x3C1EBF88  LUI R30, 49032
2766
0x9D002054      0x83C25300  LB  R2, 21248(R30)
2767
0x9D002058      0x7C420040  EXT R2, R2, 1, 1
2768
0x9D00205C      0x10400015  BEQ R2, 1, L___Lib_USB_USB_Stall_Handler53
2769
0x9D002060      0x70000000  NOP
2770
L___Lib_USB_USB_Stall_Handler376:
2771
;__Lib_USB.c, 3134 ::
2772
0x9D002064      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
2773
0x9D002068      0x94420000  LHU R2, 0(R2)
2774
0x9D00206C      0x3043FFFF  ANDI        R3, R2, 65535
2775
0x9D002070      0x34020080  ORI R2, R0, 128
2776
0x9D002074      0x1462000A  BNE R3, R2, L___Lib_USB_USB_Stall_Handler265
2777
0x9D002078      0x70000000  NOP
2778
L___Lib_USB_USB_Stall_Handler377:
2779
0x9D00207C      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2780
0x9D002080      0x94420000  LHU R2, 0(R2)
2781
0x9D002084      0x3043FFFF  ANDI        R3, R2, 65535
2782
0x9D002088      0x34020084  ORI R2, R0, 132
2783
0x9D00208C      0x14620004  BNE R3, R2, L___Lib_USB_USB_Stall_Handler264
2784
0x9D002090      0x70000000  NOP
2785
L___Lib_USB_USB_Stall_Handler378:
2786
L___Lib_USB_USB_Stall_Handler263:
2787
;__Lib_USB.c, 3136 ::
2788
0x9D002094      0x3403008C  ORI R3, R0, 140
2789
0x9D002098      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
2790
0x9D00209C      0xA4430000  SH  R3, 0(R2)
2791
;__Lib_USB.c, 3134 ::
2792
L___Lib_USB_USB_Stall_Handler265:
2793
L___Lib_USB_USB_Stall_Handler264:
2794
;__Lib_USB.c, 3138 ::
2795
0x9D0020A0      0x3C1EBF88  LUI R30, 49032
2796
0x9D0020A4      0x83C25300  LB  R2, 21248(R30)
2797
0x9D0020A8      0x7C020844  INS R2, R0, 1, 1
2798
0x9D0020AC      0x3C1EBF88  LUI R30, 49032
2799
0x9D0020B0      0xA3C25300  SB  R2, 21248(R30)
2800
;__Lib_USB.c, 3139 ::
2801
L___Lib_USB_USB_Stall_Handler53:
2802
;__Lib_USB.c, 3141 ::
2803
0x9D0020B4      0x34020080  ORI R2, R0, 128
2804
0x9D0020B8      0x3C1EBF88  LUI R30, 49032
2805
0x9D0020BC      0xAFC25200  SW  R2, 20992(R30)
2806
;__Lib_USB.c, 3142 ::
2807
L_end_USB_Stall_Handler:
2808
0x9D0020C0      0x03E00008  JR  RA
2809
0x9D0020C4      0x27BD0004  ADDIU       SP, SP, 4
2810
; end of __Lib_USB_USB_Stall_Handler
2811
__Lib_USB_USB_Ctrl_EPService:
2812
;__Lib_USB.c, 3261 ::
2813
0x9D001F10      0x27BDFFFC  ADDIU       SP, SP, -4
2814
0x9D001F14      0xAFBF0000  SW  RA, 0(SP)
2815
;__Lib_USB.c, 3263 ::
2816
0x9D001F18      0x90238054  LBU R3, Offset(_USTATcopy+0)(GP)
2817
0x9D001F1C      0x3402FFFB  ORI R2, R0, 65531
2818
0x9D001F20      0x00621024  AND R2, R3, R2
2819
0x9D001F24      0x7C021620  SEH R2, R2
2820
0x9D001F28      0x1440003C  BNE R2, R0, L___Lib_USB_USB_Ctrl_EPService57
2821
0x9D001F2C      0x70000000  NOP
2822
L___Lib_USB_USB_Ctrl_EPService382:
2823
;__Lib_USB.c, 3266 ::
2824
0x9D001F30      0x90228054  LBU R2, Offset(_USTATcopy+0)(GP)
2825
0x9D001F34      0x304200FC  ANDI        R2, R2, 252
2826
0x9D001F38      0x304200FF  ANDI        R2, R2, 255
2827
0x9D001F3C      0x00021082  SRL R2, R2, 2
2828
0x9D001F40      0x304200FF  ANDI        R2, R2, 255
2829
0x9D001F44      0x000218C0  SLL R3, R2, 3
2830
0x9D001F48      0x3C02A000  LUI R2, 40960
2831
0x9D001F4C      0x34420000  ORI R2, R2, 0
2832
0x9D001F50      0x00431821  ADDU        R3, R2, R3
2833
0x9D001F54      0xAC23ABF0  SW  R3, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
2834
;__Lib_USB.c, 3268 ::
2835
0x9D001F58      0xAC239F9C  SW  R3, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
2836
;__Lib_USB.c, 3270 ::
2837
0x9D001F5C      0x90229F9C  LBU R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
2838
0x9D001F60      0x38420008  XORI        R2, R2, 8
2839
0x9D001F64      0xA0229F9C  SB  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
2840
;__Lib_USB.c, 3273 ::
2841
0x9D001F68      0x90620000  LBU R2, 0(R3)
2842
0x9D001F6C      0x7C421880  EXT R2, R2, 2, 4
2843
0x9D001F70      0x304300FF  ANDI        R3, R2, 255
2844
0x9D001F74      0x3402000D  ORI R2, R0, 13
2845
0x9D001F78      0x14620024  BNE R3, R2, L___Lib_USB_USB_Ctrl_EPService58
2846
0x9D001F7C      0x70000000  NOP
2847
L___Lib_USB_USB_Ctrl_EPService383:
2848
;__Lib_USB.c, 3281 ::
2849
; setup_cnt start address is: 20 (R5)
2850
0x9D001F80      0x0000280A  MOVZ        R5, R0, R0
2851
; setup_cnt end address is: 20 (R5)
2852
L___Lib_USB_USB_Ctrl_EPService59:
2853
; setup_cnt start address is: 20 (R5)
2854
0x9D001F84      0x30A200FF  ANDI        R2, R5, 255
2855
0x9D001F88      0x2C420008  SLTIU       R2, R2, 8
2856
0x9D001F8C      0x10400014  BEQ R2, R0, L___Lib_USB_USB_Ctrl_EPService60
2857
0x9D001F90      0x70000000  NOP
2858
L___Lib_USB_USB_Ctrl_EPService384:
2859
;__Lib_USB.c, 3283 ::
2860
0x9D001F94      0x30A300FF  ANDI        R3, R5, 255
2861
0x9D001F98      0x3C02A000  LUI R2, hi_addr(__Lib_USB_SetupPkt+0)
2862
0x9D001F9C      0x34422CB8  ORI R2, R2, lo_addr(__Lib_USB_SetupPkt+0)
2863
0x9D001FA0      0x00432021  ADDU        R4, R2, R3
2864
0x9D001FA4      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
2865
0x9D001FA8      0x24420004  ADDIU       R2, R2, 4
2866
0x9D001FAC      0x8C430000  LW  R3, 0(R2)
2867
0x9D001FB0      0x3C02A000  LUI R2, 40960
2868
0x9D001FB4      0x00621025  OR  R2, R3, R2
2869
0x9D001FB8      0x90420000  LBU R2, 0(R2)
2870
0x9D001FBC      0xA0820000  SB  R2, 0(R4)
2871
;__Lib_USB.c, 3284 ::
2872
0x9D001FC0      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
2873
0x9D001FC4      0x24430004  ADDIU       R3, R2, 4
2874
0x9D001FC8      0x8C620000  LW  R2, 0(R3)
2875
0x9D001FCC      0x24420001  ADDIU       R2, R2, 1
2876
0x9D001FD0      0xAC620000  SW  R2, 0(R3)
2877
;__Lib_USB.c, 3281 ::
2878
0x9D001FD4      0x24A20001  ADDIU       R2, R5, 1
2879
;__Lib_USB.c, 3285 ::
2880
; setup_cnt end address is: 20 (R5)
2881
0x9D001FD8      0x0B4007E1  J   L___Lib_USB_USB_Ctrl_EPService59
2882
0x9D001FDC      0x304500FF  ANDI        R5, R2, 255
2883
L___Lib_USB_USB_Ctrl_EPService60:
2884
;__Lib_USB.c, 3286 ::
2885
0x9D001FE0      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
2886
0x9D001FE4      0x24440004  ADDIU       R4, R2, 4
2887
0x9D001FE8      0x3C03A000  LUI R3, hi_addr(__Lib_USB_SetupPkt+0)
2888
0x9D001FEC      0x34632CB8  ORI R3, R3, lo_addr(__Lib_USB_SetupPkt+0)
2889
0x9D001FF0      0x3C021FFF  LUI R2, 8191
2890
0x9D001FF4      0x3442FFFF  ORI R2, R2, 65535
2891
0x9D001FF8      0x00621024  AND R2, R3, R2
2892
;__Lib_USB.c, 3289 ::
2893
0x9D001FFC      0x0F4005AA  JAL __Lib_USB_USB_CtrlTrf_Setup_Handler+0
2894
0x9D002000      0xAC820000  SW  R2, 0(R4)
2895
;__Lib_USB.c, 3290 ::
2896
0x9D002004      0x0B400805  J   L___Lib_USB_USB_Ctrl_EPService62
2897
0x9D002008      0x70000000  NOP
2898
L___Lib_USB_USB_Ctrl_EPService58:
2899
;__Lib_USB.c, 3293 ::
2900
0x9D00200C      0x0F400586  JAL __Lib_USB_USB_CtrlTrf_Out_Handler+0
2901
0x9D002010      0x70000000  NOP
2902
;__Lib_USB.c, 3294 ::
2903
L___Lib_USB_USB_Ctrl_EPService62:
2904
;__Lib_USB.c, 3295 ::
2905
0x9D002014      0x0B400810  J   L___Lib_USB_USB_Ctrl_EPService63
2906
0x9D002018      0x70000000  NOP
2907
L___Lib_USB_USB_Ctrl_EPService57:
2908
0x9D00201C      0x90238054  LBU R3, Offset(_USTATcopy+0)(GP)
2909
0x9D002020      0x3402FFFB  ORI R2, R0, 65531
2910
0x9D002024      0x00621024  AND R2, R3, R2
2911
0x9D002028      0x7C021E20  SEH R3, R2
2912
0x9D00202C      0x34020008  ORI R2, R0, 8
2913
0x9D002030      0x14620003  BNE R3, R2, L___Lib_USB_USB_Ctrl_EPService64
2914
0x9D002034      0x70000000  NOP
2915
L___Lib_USB_USB_Ctrl_EPService385:
2916
;__Lib_USB.c, 3298 ::
2917
0x9D002038      0x0F40053C  JAL __Lib_USB_USB_CtrlTrf_In_Handler+0
2918
0x9D00203C      0x70000000  NOP
2919
;__Lib_USB.c, 3300 ::
2920
L___Lib_USB_USB_Ctrl_EPService64:
2921
L___Lib_USB_USB_Ctrl_EPService63:
2922
;__Lib_USB.c, 3302 ::
2923
L_end_USB_Ctrl_EPService:
2924
0x9D002040      0x8FBF0000  LW  RA, 0(SP)
2925
0x9D002044      0x03E00008  JR  RA
2926
0x9D002048      0x27BD0004  ADDIU       SP, SP, 4
2927
; end of __Lib_USB_USB_Ctrl_EPService
2928
__Lib_USB_USB_CtrlTrf_Setup_Handler:
2929
;__Lib_USB.c, 3344 ::
2930
0x9D0016A8      0x27BDFFF0  ADDIU       SP, SP, -16
2931
0x9D0016AC      0xAFBF0000  SW  RA, 0(SP)
2932
;__Lib_USB.c, 3348 ::
2933
0x9D0016B0      0xAFB90004  SW  R25, 4(SP)
2934
0x9D0016B4      0xAFBA0008  SW  R26, 8(SP)
2935
0x9D0016B8      0xAFBB000C  SW  R27, 12(SP)
2936
0x9D0016BC      0xA020ACC9  SB  R0, Offset(__Lib_USB_shortPacketStatus+0)(GP)
2937
;__Lib_USB.c, 3349 ::
2938
0x9D0016C0      0xA0208056  SB  R0, Offset(_USBDeferStatusStagePacket+0)(GP)
2939
;__Lib_USB.c, 3350 ::
2940
0x9D0016C4      0xA0209F9A  SB  R0, Offset(_USBDeferINDataStagePackets+0)(GP)
2941
;__Lib_USB.c, 3351 ::
2942
0x9D0016C8      0xA0208057  SB  R0, Offset(_USBDeferOUTDataStagePackets+0)(GP)
2943
;__Lib_USB.c, 3352 ::
2944
0x9D0016CC      0xA0209F98  SB  R0, Offset(__Lib_USB_BothEP0OutUOWNsSet+0)(GP)
2945
;__Lib_USB.c, 3353 ::
2946
0x9D0016D0      0xA020ACCA  SB  R0, Offset(__Lib_USB_controlTransferState+0)(GP)
2947
;__Lib_USB.c, 3362 ::
2948
0x9D0016D4      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2949
0x9D0016D8      0x94420000  LHU R2, 0(R2)
2950
0x9D0016DC      0x3043007F  ANDI        R3, R2, 127
2951
0x9D0016E0      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2952
0x9D0016E4      0xA4430000  SH  R3, 0(R2)
2953
;__Lib_USB.c, 3363 ::
2954
0x9D0016E8      0x9022AC9C  LBU R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2955
0x9D0016EC      0x38420008  XORI        R2, R2, 8
2956
0x9D0016F0      0xA022AC9C  SB  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2957
;__Lib_USB.c, 3364 ::
2958
0x9D0016F4      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2959
0x9D0016F8      0x94420000  LHU R2, 0(R2)
2960
0x9D0016FC      0x3043007F  ANDI        R3, R2, 127
2961
0x9D001700      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2962
0x9D001704      0xA4430000  SH  R3, 0(R2)
2963
;__Lib_USB.c, 3365 ::
2964
0x9D001708      0x9022AC9C  LBU R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2965
0x9D00170C      0x38420008  XORI        R2, R2, 8
2966
0x9D001710      0xA022AC9C  SB  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
2967
;__Lib_USB.c, 3366 ::
2968
0x9D001714      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
2969
0x9D001718      0x94420000  LHU R2, 0(R2)
2970
0x9D00171C      0x3043007F  ANDI        R3, R2, 127
2971
0x9D001720      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
2972
0x9D001724      0xA4430000  SH  R3, 0(R2)
2973
;__Lib_USB.c, 3368 ::
2974
0x9D001728      0xA020ACC4  SB  R0, Offset(__Lib_USB_inPipes+4)(GP)
2975
;__Lib_USB.c, 3369 ::
2976
0x9D00172C      0xA420ACC6  SH  R0, Offset(__Lib_USB_inPipes+6)(GP)
2977
;__Lib_USB.c, 3370 ::
2978
0x9D001730      0xA020ACD8  SB  R0, Offset(__Lib_USB_outPipes+4)(GP)
2979
;__Lib_USB.c, 3371 ::
2980
;__Lib_USB.c, 3377 ::
2981
0x9D001734      0x0F400436  JAL __Lib_USB_USB_Check_Std_Request+0
2982
0x9D001738      0xA420ACDA  SH  R0, Offset(__Lib_USB_outPipes+6)(GP)
2983
;__Lib_USB.c, 3378 ::
2984
0x9D00173C      0x0000D80A  MOVZ        R27, R0, R0
2985
0x9D001740      0x0000D00A  MOVZ        R26, R0, R0
2986
0x9D001744      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
2987
0x9D001748      0x34190003  ORI R25, R0, 3
2988
;__Lib_USB.c, 3391 ::
2989
0x9D00174C      0x0F4004B9  JAL __Lib_USB_USB_CtrlEP_Service_Complete+0
2990
0x9D001750      0x70000000  NOP
2991
;__Lib_USB.c, 3392 ::
2992
L_end_USB_CtrlTrf_Setup_Handler:
2993
0x9D001754      0x8FBB000C  LW  R27, 12(SP)
2994
0x9D001758      0x8FBA0008  LW  R26, 8(SP)
2995
0x9D00175C      0x8FB90004  LW  R25, 4(SP)
2996
0x9D001760      0x8FBF0000  LW  RA, 0(SP)
2997
0x9D001764      0x03E00008  JR  RA
2998
0x9D001768      0x27BD0010  ADDIU       SP, SP, 16
2999
; end of __Lib_USB_USB_CtrlTrf_Setup_Handler
3000
__Lib_USB_USB_Check_Std_Request:
3001
;__Lib_USB.c, 3543 ::
3002
0x9D0010D8      0x27BDFFF0  ADDIU       SP, SP, -16
3003
0x9D0010DC      0xAFBF0000  SW  RA, 0(SP)
3004
;__Lib_USB.c, 3544 ::
3005
0x9D0010E0      0xAFB90004  SW  R25, 4(SP)
3006
0x9D0010E4      0xAFBA0008  SW  R26, 8(SP)
3007
0x9D0010E8      0xAFBB000C  SW  R27, 12(SP)
3008
0x9D0010EC      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
3009
0x9D0010F0      0x7C420940  EXT R2, R2, 5, 2
3010
0x9D0010F4      0x304200FF  ANDI        R2, R2, 255
3011
0x9D0010F8      0x10400003  BEQ R2, R0, L___Lib_USB_USB_Check_Std_Request80
3012
0x9D0010FC      0x70000000  NOP
3013
L___Lib_USB_USB_Check_Std_Request403:
3014
0x9D001100      0x0B4004B3  J   L_end_USB_Check_Std_Request
3015
0x9D001104      0x70000000  NOP
3016
L___Lib_USB_USB_Check_Std_Request80:
3017
;__Lib_USB.c, 3546 ::
3018
0x9D001108      0x0B400486  J   L___Lib_USB_USB_Check_Std_Request81
3019
0x9D00110C      0x70000000  NOP
3020
;__Lib_USB.c, 3547 ::
3021
L___Lib_USB_USB_Check_Std_Request83:
3022
;__Lib_USB.c, 3548 ::
3023
0x9D001110      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3024
0x9D001114      0x34420080  ORI R2, R2, 128
3025
0x9D001118      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3026
;__Lib_USB.c, 3549 ::
3027
0x9D00111C      0x34020008  ORI R2, R0, 8
3028
;__Lib_USB.c, 3551 ::
3029
0x9D001120      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3030
0x9D001124      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
3031
;__Lib_USB.c, 3552 ::
3032
L___Lib_USB_USB_Check_Std_Request84:
3033
;__Lib_USB.c, 3553 ::
3034
0x9D001128      0x0F400092  JAL __Lib_USB_USB_Get_Dsc_Handler+0
3035
0x9D00112C      0x70000000  NOP
3036
;__Lib_USB.c, 3554 ::
3037
0x9D001130      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3038
0x9D001134      0x70000000  NOP
3039
;__Lib_USB.c, 3555 ::
3040
L___Lib_USB_USB_Check_Std_Request85:
3041
;__Lib_USB.c, 3556 ::
3042
0x9D001138      0x0F4000D6  JAL __Lib_USB_USB_Set_Cfg_Handler+0
3043
0x9D00113C      0x70000000  NOP
3044
;__Lib_USB.c, 3557 ::
3045
0x9D001140      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3046
0x9D001144      0x70000000  NOP
3047
;__Lib_USB.c, 3558 ::
3048
L___Lib_USB_USB_Check_Std_Request86:
3049
;__Lib_USB.c, 3559 ::
3050
0x9D001148      0x3C02A000  LUI R2, hi_addr(__Lib_USB_USBActiveConfiguration+0)
3051
0x9D00114C      0x34422BF7  ORI R2, R2, lo_addr(__Lib_USB_USBActiveConfiguration+0)
3052
0x9D001150      0xAC22ACC0  SW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3053
;__Lib_USB.c, 3560 ::
3054
0x9D001154      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3055
0x9D001158      0x34420001  ORI R2, R2, 1
3056
0x9D00115C      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3057
;__Lib_USB.c, 3561 ::
3058
0x9D001160      0x34020001  ORI R2, R0, 1
3059
0x9D001164      0xA022ACC6  SB  R2, Offset(__Lib_USB_inPipes+6)(GP)
3060
;__Lib_USB.c, 3562 ::
3061
0x9D001168      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3062
0x9D00116C      0x34420080  ORI R2, R2, 128
3063
;__Lib_USB.c, 3563 ::
3064
0x9D001170      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3065
0x9D001174      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3066
;__Lib_USB.c, 3564 ::
3067
L___Lib_USB_USB_Check_Std_Request87:
3068
;__Lib_USB.c, 3565 ::
3069
0x9D001178      0x0F4001F9  JAL __Lib_USB_USB_Get_Status_Handler+0
3070
0x9D00117C      0x70000000  NOP
3071
;__Lib_USB.c, 3566 ::
3072
0x9D001180      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3073
0x9D001184      0x70000000  NOP
3074
;__Lib_USB.c, 3567 ::
3075
L___Lib_USB_USB_Check_Std_Request88:
3076
;__Lib_USB.c, 3568 ::
3077
L___Lib_USB_USB_Check_Std_Request89:
3078
;__Lib_USB.c, 3569 ::
3079
0x9D001188      0x0F4002C3  JAL __Lib_USB_USB_Std_Feature_Req_Handler+0
3080
0x9D00118C      0x70000000  NOP
3081
;__Lib_USB.c, 3570 ::
3082
0x9D001190      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3083
0x9D001194      0x70000000  NOP
3084
;__Lib_USB.c, 3571 ::
3085
L___Lib_USB_USB_Check_Std_Request90:
3086
;__Lib_USB.c, 3572 ::
3087
0x9D001198      0x9023ACBC  LBU R3, Offset(__Lib_USB_SetupPkt+4)(GP)
3088
0x9D00119C      0x3C02A000  LUI R2, hi_addr(__Lib_USB_USBAlternateInterface+0)
3089
0x9D0011A0      0x34420055  ORI R2, R2, lo_addr(__Lib_USB_USBAlternateInterface+0)
3090
0x9D0011A4      0x00431021  ADDU        R2, R2, R3
3091
0x9D0011A8      0xAC22ACC0  SW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3092
;__Lib_USB.c, 3573 ::
3093
0x9D0011AC      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3094
0x9D0011B0      0x34420001  ORI R2, R2, 1
3095
0x9D0011B4      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3096
;__Lib_USB.c, 3574 ::
3097
0x9D0011B8      0x34020001  ORI R2, R0, 1
3098
0x9D0011BC      0xA022ACC6  SB  R2, Offset(__Lib_USB_inPipes+6)(GP)
3099
;__Lib_USB.c, 3575 ::
3100
0x9D0011C0      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3101
0x9D0011C4      0x34420080  ORI R2, R2, 128
3102
;__Lib_USB.c, 3576 ::
3103
0x9D0011C8      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3104
0x9D0011CC      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3105
;__Lib_USB.c, 3577 ::
3106
L___Lib_USB_USB_Check_Std_Request91:
3107
;__Lib_USB.c, 3578 ::
3108
0x9D0011D0      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3109
0x9D0011D4      0x34420080  ORI R2, R2, 128
3110
0x9D0011D8      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3111
;__Lib_USB.c, 3579 ::
3112
0x9D0011DC      0x9023ACBC  LBU R3, Offset(__Lib_USB_SetupPkt+4)(GP)
3113
0x9D0011E0      0x3C02A000  LUI R2, hi_addr(__Lib_USB_USBAlternateInterface+0)
3114
0x9D0011E4      0x34420055  ORI R2, R2, lo_addr(__Lib_USB_USBAlternateInterface+0)
3115
0x9D0011E8      0x00431821  ADDU        R3, R2, R3
3116
0x9D0011EC      0x9022ACBA  LBU R2, Offset(__Lib_USB_SetupPkt+2)(GP)
3117
;__Lib_USB.c, 3580 ::
3118
0x9D0011F0      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3119
0x9D0011F4      0xA0620000  SB  R2, 0(R3)
3120
;__Lib_USB.c, 3581 ::
3121
L___Lib_USB_USB_Check_Std_Request92:
3122
;__Lib_USB.c, 3582 ::
3123
0x9D0011F8      0x0000D80A  MOVZ        R27, R0, R0
3124
0x9D0011FC      0x0000D00A  MOVZ        R26, R0, R0
3125
0x9D001200      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
3126
0x9D001204      0x34190002  ORI R25, R0, 2
3127
;__Lib_USB.c, 3583 ::
3128
0x9D001208      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3129
0x9D00120C      0x70000000  NOP
3130
;__Lib_USB.c, 3584 ::
3131
L___Lib_USB_USB_Check_Std_Request93:
3132
;__Lib_USB.c, 3585 ::
3133
L___Lib_USB_USB_Check_Std_Request94:
3134
;__Lib_USB.c, 3586 ::
3135
0x9D001210      0x0B4004B3  J   L___Lib_USB_USB_Check_Std_Request82
3136
0x9D001214      0x70000000  NOP
3137
;__Lib_USB.c, 3587 ::
3138
L___Lib_USB_USB_Check_Std_Request81:
3139
0x9D001218      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3140
0x9D00121C      0x34020005  ORI R2, R0, 5
3141
0x9D001220      0x1062FFBB  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request83
3142
0x9D001224      0x70000000  NOP
3143
L___Lib_USB_USB_Check_Std_Request405:
3144
0x9D001228      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3145
0x9D00122C      0x34020006  ORI R2, R0, 6
3146
0x9D001230      0x1062FFBD  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request84
3147
0x9D001234      0x70000000  NOP
3148
L___Lib_USB_USB_Check_Std_Request407:
3149
0x9D001238      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3150
0x9D00123C      0x34020009  ORI R2, R0, 9
3151
0x9D001240      0x1062FFBD  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request85
3152
0x9D001244      0x70000000  NOP
3153
L___Lib_USB_USB_Check_Std_Request409:
3154
0x9D001248      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3155
0x9D00124C      0x34020008  ORI R2, R0, 8
3156
0x9D001250      0x1062FFBD  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request86
3157
0x9D001254      0x70000000  NOP
3158
L___Lib_USB_USB_Check_Std_Request411:
3159
0x9D001258      0x9022ACB9  LBU R2, Offset(__Lib_USB_SetupPkt+1)(GP)
3160
0x9D00125C      0x1040FFC6  BEQ R2, R0, L___Lib_USB_USB_Check_Std_Request87
3161
0x9D001260      0x70000000  NOP
3162
L___Lib_USB_USB_Check_Std_Request413:
3163
0x9D001264      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3164
0x9D001268      0x34020001  ORI R2, R0, 1
3165
0x9D00126C      0x1062FFC6  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request88
3166
0x9D001270      0x70000000  NOP
3167
L___Lib_USB_USB_Check_Std_Request415:
3168
0x9D001274      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3169
0x9D001278      0x34020003  ORI R2, R0, 3
3170
0x9D00127C      0x1062FFC2  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request89
3171
0x9D001280      0x70000000  NOP
3172
L___Lib_USB_USB_Check_Std_Request417:
3173
0x9D001284      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3174
0x9D001288      0x3402000A  ORI R2, R0, 10
3175
0x9D00128C      0x1062FFC2  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request90
3176
0x9D001290      0x70000000  NOP
3177
L___Lib_USB_USB_Check_Std_Request419:
3178
0x9D001294      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3179
0x9D001298      0x3402000B  ORI R2, R0, 11
3180
0x9D00129C      0x1062FFCC  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request91
3181
0x9D0012A0      0x70000000  NOP
3182
L___Lib_USB_USB_Check_Std_Request421:
3183
0x9D0012A4      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3184
0x9D0012A8      0x34020007  ORI R2, R0, 7
3185
0x9D0012AC      0x1062FFD2  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request92
3186
0x9D0012B0      0x70000000  NOP
3187
L___Lib_USB_USB_Check_Std_Request423:
3188
0x9D0012B4      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3189
0x9D0012B8      0x3402000C  ORI R2, R0, 12
3190
0x9D0012BC      0x1062FFD4  BEQ R3, R2, L___Lib_USB_USB_Check_Std_Request93
3191
0x9D0012C0      0x70000000  NOP
3192
L___Lib_USB_USB_Check_Std_Request425:
3193
0x9D0012C4      0x0B400484  J   L___Lib_USB_USB_Check_Std_Request94
3194
0x9D0012C8      0x70000000  NOP
3195
L___Lib_USB_USB_Check_Std_Request82:
3196
;__Lib_USB.c, 3588 ::
3197
L_end_USB_Check_Std_Request:
3198
0x9D0012CC      0x8FBB000C  LW  R27, 12(SP)
3199
0x9D0012D0      0x8FBA0008  LW  R26, 8(SP)
3200
0x9D0012D4      0x8FB90004  LW  R25, 4(SP)
3201
0x9D0012D8      0x8FBF0000  LW  RA, 0(SP)
3202
0x9D0012DC      0x03E00008  JR  RA
3203
0x9D0012E0      0x27BD0010  ADDIU       SP, SP, 16
3204
; end of __Lib_USB_USB_Check_Std_Request
3205
__Lib_USB_USB_Get_Dsc_Handler:
3206
;__Lib_USB.c, 3921 ::
3207
0x9D000248      0x27BDFFFC  ADDIU       SP, SP, -4
3208
;__Lib_USB.c, 3923 ::
3209
0x9D00024C      0x9023ACB8  LBU R3, Offset(__Lib_USB_SetupPkt+0)(GP)
3210
0x9D000250      0x34020080  ORI R2, R0, 128
3211
0x9D000254      0x1462003E  BNE R3, R2, L___Lib_USB_USB_Get_Dsc_Handler132
3212
0x9D000258      0x70000000  NOP
3213
L___Lib_USB_USB_Get_Dsc_Handler459:
3214
;__Lib_USB.c, 3924 ::
3215
0x9D00025C      0x340200C0  ORI R2, R0, 192
3216
;__Lib_USB.c, 3926 ::
3217
0x9D000260      0x0B4000C6  J   L___Lib_USB_USB_Get_Dsc_Handler133
3218
0x9D000264      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3219
;__Lib_USB.c, 3927 ::
3220
L___Lib_USB_USB_Get_Dsc_Handler135:
3221
;__Lib_USB.c, 3928 ::
3222
0x9D000268      0x3C029D00  LUI R2, hi_addr(_device_dsc+0)
3223
0x9D00026C      0x34424A16  ORI R2, R2, lo_addr(_device_dsc+0)
3224
0x9D000270      0xAC22ACC0  SW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3225
;__Lib_USB.c, 3929 ::
3226
0x9D000274      0x34020012  ORI R2, R0, 18
3227
;__Lib_USB.c, 3930 ::
3228
0x9D000278      0x0B4000D4  J   L___Lib_USB_USB_Get_Dsc_Handler134
3229
0x9D00027C      0xA422ACC6  SH  R2, Offset(__Lib_USB_inPipes+6)(GP)
3230
;__Lib_USB.c, 3931 ::
3231
L___Lib_USB_USB_Get_Dsc_Handler136:
3232
;__Lib_USB.c, 3933 ::
3233
0x9D000280      0x9022ACBA  LBU R2, Offset(__Lib_USB_SetupPkt+2)(GP)
3234
0x9D000284      0x00021880  SLL R3, R2, 2
3235
0x9D000288      0x3C02A000  LUI R2, hi_addr(_USB_config_dsc_ptr+0)
3236
0x9D00028C      0x34422CB4  ORI R2, R2, lo_addr(_USB_config_dsc_ptr+0)
3237
0x9D000290      0x00431021  ADDU        R2, R2, R3
3238
0x9D000294      0x8C420000  LW  R2, 0(R2)
3239
0x9D000298      0xAC22ACC0  SW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3240
;__Lib_USB.c, 3937 ::
3241
0x9D00029C      0x8C22ACC0  LW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3242
0x9D0002A0      0x24420002  ADDIU       R2, R2, 2
3243
0x9D0002A4      0x90420000  LBU R2, 0(R2)
3244
0x9D0002A8      0xA022ACC6  SB  R2, Offset(__Lib_USB_inPipes+6)(GP)
3245
;__Lib_USB.c, 3938 ::
3246
0x9D0002AC      0x8C22ACC0  LW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3247
0x9D0002B0      0x24420003  ADDIU       R2, R2, 3
3248
0x9D0002B4      0x90420000  LBU R2, 0(R2)
3249
;__Lib_USB.c, 3939 ::
3250
0x9D0002B8      0x0B4000D4  J   L___Lib_USB_USB_Get_Dsc_Handler134
3251
0x9D0002BC      0xA022ACC7  SB  R2, Offset(__Lib_USB_inPipes+7)(GP)
3252
;__Lib_USB.c, 3940 ::
3253
L___Lib_USB_USB_Get_Dsc_Handler137:
3254
;__Lib_USB.c, 3944 ::
3255
0x9D0002C0      0x9023ABE3  LBU R3, Offset(__Lib_USB_maxDescriptorIndex+0)(GP)
3256
0x9D0002C4      0x9022ACBA  LBU R2, Offset(__Lib_USB_SetupPkt+2)(GP)
3257
0x9D0002C8      0x0062102B  SLTU        R2, R3, R2
3258
0x9D0002CC      0x1440000D  BNE R2, R0, L___Lib_USB_USB_Get_Dsc_Handler138
3259
0x9D0002D0      0x70000000  NOP
3260
L___Lib_USB_USB_Get_Dsc_Handler460:
3261
;__Lib_USB.c, 3946 ::
3262
0x9D0002D4      0x9022ACBA  LBU R2, Offset(__Lib_USB_SetupPkt+2)(GP)
3263
0x9D0002D8      0x00021880  SLL R3, R2, 2
3264
0x9D0002DC      0x3C02A000  LUI R2, hi_addr(_USB_string_dsc_ptr+0)
3265
0x9D0002E0      0x34422CA8  ORI R2, R2, lo_addr(_USB_string_dsc_ptr+0)
3266
0x9D0002E4      0x00431021  ADDU        R2, R2, R3
3267
0x9D0002E8      0x8C420000  LW  R2, 0(R2)
3268
0x9D0002EC      0xAC22ACC0  SW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3269
;__Lib_USB.c, 3948 ::
3270
0x9D0002F0      0x8C22ACC0  LW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3271
0x9D0002F4      0x90420000  LBU R2, 0(R2)
3272
0x9D0002F8      0x304200FF  ANDI        R2, R2, 255
3273
;__Lib_USB.c, 3949 ::
3274
0x9D0002FC      0x0B4000C2  J   L___Lib_USB_USB_Get_Dsc_Handler139
3275
0x9D000300      0xA422ACC6  SH  R2, Offset(__Lib_USB_inPipes+6)(GP)
3276
L___Lib_USB_USB_Get_Dsc_Handler138:
3277
;__Lib_USB.c, 3950 ::
3278
0x9D000304      0xA020ACC4  SB  R0, Offset(__Lib_USB_inPipes+4)(GP)
3279
;__Lib_USB.c, 3951 ::
3280
L___Lib_USB_USB_Get_Dsc_Handler139:
3281
;__Lib_USB.c, 3952 ::
3282
0x9D000308      0x0B4000D4  J   L___Lib_USB_USB_Get_Dsc_Handler134
3283
0x9D00030C      0x70000000  NOP
3284
;__Lib_USB.c, 3953 ::
3285
L___Lib_USB_USB_Get_Dsc_Handler140:
3286
;__Lib_USB.c, 3954 ::
3287
;__Lib_USB.c, 3955 ::
3288
0x9D000310      0x0B4000D4  J   L___Lib_USB_USB_Get_Dsc_Handler134
3289
0x9D000314      0xA020ACC4  SB  R0, Offset(__Lib_USB_inPipes+4)(GP)
3290
;__Lib_USB.c, 3956 ::
3291
L___Lib_USB_USB_Get_Dsc_Handler133:
3292
0x9D000318      0x9023ACBB  LBU R3, Offset(__Lib_USB_SetupPkt+3)(GP)
3293
0x9D00031C      0x34020001  ORI R2, R0, 1
3294
0x9D000320      0x1062FFD1  BEQ R3, R2, L___Lib_USB_USB_Get_Dsc_Handler135
3295
0x9D000324      0x70000000  NOP
3296
L___Lib_USB_USB_Get_Dsc_Handler462:
3297
0x9D000328      0x9023ACBB  LBU R3, Offset(__Lib_USB_SetupPkt+3)(GP)
3298
0x9D00032C      0x34020002  ORI R2, R0, 2
3299
0x9D000330      0x1062FFD3  BEQ R3, R2, L___Lib_USB_USB_Get_Dsc_Handler136
3300
0x9D000334      0x70000000  NOP
3301
L___Lib_USB_USB_Get_Dsc_Handler464:
3302
0x9D000338      0x9023ACBB  LBU R3, Offset(__Lib_USB_SetupPkt+3)(GP)
3303
0x9D00033C      0x34020003  ORI R2, R0, 3
3304
0x9D000340      0x1062FFDF  BEQ R3, R2, L___Lib_USB_USB_Get_Dsc_Handler137
3305
0x9D000344      0x70000000  NOP
3306
L___Lib_USB_USB_Get_Dsc_Handler466:
3307
0x9D000348      0x0B4000C4  J   L___Lib_USB_USB_Get_Dsc_Handler140
3308
0x9D00034C      0x70000000  NOP
3309
L___Lib_USB_USB_Get_Dsc_Handler134:
3310
;__Lib_USB.c, 3957 ::
3311
L___Lib_USB_USB_Get_Dsc_Handler132:
3312
;__Lib_USB.c, 3958 ::
3313
L_end_USB_Get_Dsc_Handler:
3314
0x9D000350      0x03E00008  JR  RA
3315
0x9D000354      0x27BD0004  ADDIU       SP, SP, 4
3316
; end of __Lib_USB_USB_Get_Dsc_Handler
3317
__Lib_USB_USB_Set_Cfg_Handler:
3318
;__Lib_USB.c, 4389 ::
3319
0x9D000358      0x27BDFFF0  ADDIU       SP, SP, -16
3320
0x9D00035C      0xAFBF0000  SW  RA, 0(SP)
3321
;__Lib_USB.c, 4393 ::
3322
0x9D000360      0xAFB90004  SW  R25, 4(SP)
3323
0x9D000364      0xAFBA0008  SW  R26, 8(SP)
3324
0x9D000368      0xAFBB000C  SW  R27, 12(SP)
3325
0x9D00036C      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3326
0x9D000370      0x34420080  ORI R2, R2, 128
3327
0x9D000374      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3328
;__Lib_USB.c, 4396 ::
3329
0x9D000378      0x0F40061A  JAL __Lib_USB_USB_Disable_Non_Zero_Endpoints+0
3330
0x9D00037C      0x34190001  ORI R25, R0, 1
3331
;__Lib_USB.c, 4399 ::
3332
; i start address is: 16 (R4)
3333
0x9D000380      0x0000200A  MOVZ        R4, R0, R0
3334
; i end address is: 16 (R4)
3335
L___Lib_USB_USB_Set_Cfg_Handler182:
3336
; i start address is: 16 (R4)
3337
0x9D000384      0x308200FF  ANDI        R2, R4, 255
3338
0x9D000388      0x2C420008  SLTIU       R2, R2, 8
3339
0x9D00038C      0x1040000B  BEQ R2, R0, L___Lib_USB_USB_Set_Cfg_Handler183
3340
0x9D000390      0x70000000  NOP
3341
L___Lib_USB_USB_Set_Cfg_Handler508:
3342
;__Lib_USB.c, 4401 ::
3343
0x9D000394      0x308200FF  ANDI        R2, R4, 255
3344
0x9D000398      0x000218C0  SLL R3, R2, 3
3345
0x9D00039C      0x3C02A000  LUI R2, 40960
3346
0x9D0003A0      0x34420000  ORI R2, R2, 0
3347
0x9D0003A4      0x00431021  ADDU        R2, R2, R3
3348
0x9D0003A8      0xAC400000  SW  R0, 0(R2)
3349
0x9D0003AC      0xAC400004  SW  R0, 4(R2)
3350
;__Lib_USB.c, 4399 ::
3351
0x9D0003B0      0x24820001  ADDIU       R2, R4, 1
3352
;__Lib_USB.c, 4402 ::
3353
; i end address is: 16 (R4)
3354
0x9D0003B4      0x0B4000E1  J   L___Lib_USB_USB_Set_Cfg_Handler182
3355
0x9D0003B8      0x304400FF  ANDI        R4, R2, 255
3356
L___Lib_USB_USB_Set_Cfg_Handler183:
3357
;__Lib_USB.c, 4405 ::
3358
0x9D0003BC      0x3C1EBF88  LUI R30, 49032
3359
0x9D0003C0      0x83C25250  LB  R2, 21072(R30)
3360
0x9D0003C4      0x34420002  ORI R2, R2, 0x0002
3361
0x9D0003C8      0x3C1EBF88  LUI R30, 49032
3362
0x9D0003CC      0xA3C25250  SB  R2, 21072(R30)
3363
;__Lib_USB.c, 4408 ::
3364
0x9D0003D0      0x341B0001  ORI R27, R0, 1
3365
0x9D0003D4      0x0000D00A  MOVZ        R26, R0, R0
3366
0x9D0003D8      0x3C19A000  LUI R25, hi_addr(__Lib_USB_USBAlternateInterface+0)
3367
0x9D0003DC      0x0F40007E  JAL __Lib_USB_USB_memset+0
3368
0x9D0003E0      0x37390055  ORI R25, R25, lo_addr(__Lib_USB_USBAlternateInterface+0)
3369
;__Lib_USB.c, 4411 ::
3370
0x9D0003E4      0x3C1EBF88  LUI R30, 49032
3371
0x9D0003E8      0x83C25250  LB  R2, 21072(R30)
3372
0x9D0003EC      0x7C020844  INS R2, R0, 1, 1
3373
0x9D0003F0      0x3C1EBF88  LUI R30, 49032
3374
0x9D0003F4      0xA3C25250  SB  R2, 21072(R30)
3375
;__Lib_USB.c, 4413 ::
3376
0x9D0003F8      0x3C02A000  LUI R2, 40960
3377
0x9D0003FC      0x34420010  ORI R2, R2, 16
3378
0x9D000400      0xAC22AC9C  SW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
3379
;__Lib_USB.c, 4416 ::
3380
0x9D000404      0x3C02A000  LUI R2, 40960
3381
0x9D000408      0x34420000  ORI R2, R2, 0
3382
0x9D00040C      0xAC22ABF0  SW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
3383
;__Lib_USB.c, 4417 ::
3384
0x9D000410      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
3385
0x9D000414      0xAC229F9C  SW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
3386
;__Lib_USB.c, 4420 ::
3387
0x9D000418      0x9022ACBA  LBU R2, Offset(__Lib_USB_SetupPkt+2)(GP)
3388
0x9D00041C      0xA022ABF7  SB  R2, Offset(__Lib_USB_USBActiveConfiguration+0)(GP)
3389
;__Lib_USB.c, 4423 ::
3390
0x9D000420      0x9022ABF7  LBU R2, Offset(__Lib_USB_USBActiveConfiguration+0)(GP)
3391
0x9D000424      0x14400004  BNE R2, R0, L___Lib_USB_USB_Set_Cfg_Handler185
3392
0x9D000428      0x70000000  NOP
3393
L___Lib_USB_USB_Set_Cfg_Handler509:
3394
;__Lib_USB.c, 4426 ::
3395
0x9D00042C      0x34020010  ORI R2, R0, 16
3396
;__Lib_USB.c, 4427 ::
3397
0x9D000430      0x0B400115  J   L___Lib_USB_USB_Set_Cfg_Handler186
3398
0x9D000434      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
3399
L___Lib_USB_USB_Set_Cfg_Handler185:
3400
;__Lib_USB.c, 4431 ::
3401
0x9D000438      0x341B0001  ORI R27, R0, 1
3402
0x9D00043C      0x3C1AA000  LUI R26, hi_addr(__Lib_USB_USBActiveConfiguration+0)
3403
0x9D000440      0x375A2BF7  ORI R26, R26, lo_addr(__Lib_USB_USBActiveConfiguration+0)
3404
0x9D000444      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
3405
0x9D000448      0x34190001  ORI R25, R0, 1
3406
;__Lib_USB.c, 4436 ::
3407
0x9D00044C      0x34020020  ORI R2, R0, 32
3408
0x9D000450      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
3409
;__Lib_USB.c, 4437 ::
3410
L___Lib_USB_USB_Set_Cfg_Handler186:
3411
;__Lib_USB.c, 4438 ::
3412
L_end_USB_Set_Cfg_Handler:
3413
0x9D000454      0x8FBB000C  LW  R27, 12(SP)
3414
0x9D000458      0x8FBA0008  LW  R26, 8(SP)
3415
0x9D00045C      0x8FB90004  LW  R25, 4(SP)
3416
0x9D000460      0x8FBF0000  LW  RA, 0(SP)
3417
0x9D000464      0x03E00008  JR  RA
3418
0x9D000468      0x27BD0010  ADDIU       SP, SP, 16
3419
; end of __Lib_USB_USB_Set_Cfg_Handler
3420
__Lib_USB_USB_memset:
3421
;__Lib_USB.c, 1985 ::
3422
0x9D0001F8      0x27BDFFFC  ADDIU       SP, SP, -4
3423
;__Lib_USB.c, 1988 ::
3424
; pp start address is: 16 (R4)
3425
0x9D0001FC      0x0320200A  MOVZ        R4, R25, R0
3426
; pp end address is: 16 (R4)
3427
;__Lib_USB.c, 1989 ::
3428
L___Lib_USB_USB_memset0:
3429
; pp start address is: 16 (R4)
3430
0x9D000200      0x3363FFFF  ANDI        R3, R27, 65535
3431
0x9D000204      0x2762FFFF  ADDIU       R2, R27, -1
3432
0x9D000208      0x10600005  BEQ R3, R0, L___Lib_USB_USB_memset1
3433
0x9D00020C      0x305BFFFF  ANDI        R27, R2, 65535
3434
L___Lib_USB_USB_memset313:
3435
;__Lib_USB.c, 1990 ::
3436
0x9D000210      0xA09A0000  SB  R26, 0(R4)
3437
0x9D000214      0x24820001  ADDIU       R2, R4, 1
3438
; pp end address is: 16 (R4)
3439
0x9D000218      0x0B400080  J   L___Lib_USB_USB_memset0
3440
0x9D00021C      0x0040200A  MOVZ        R4, R2, R0
3441
L___Lib_USB_USB_memset1:
3442
;__Lib_USB.c, 1991 ::
3443
L_end_USB_memset:
3444
0x9D000220      0x03E00008  JR  RA
3445
0x9D000224      0x27BD0004  ADDIU       SP, SP, 4
3446
; end of __Lib_USB_USB_memset
3447
__Lib_USB_USB_Get_Status_Handler:
3448
;__Lib_USB.c, 3975 ::
3449
0x9D0007E4      0x27BDFFFC  ADDIU       SP, SP, -4
3450
;__Lib_USB.c, 3977 ::
3451
0x9D0007E8      0xA020ACE0  SB  R0, Offset(__Lib_USB_CtrlTrfData+0)(GP)
3452
;__Lib_USB.c, 3978 ::
3453
;__Lib_USB.c, 3980 ::
3454
0x9D0007EC      0x0B400230  J   L___Lib_USB_USB_Get_Status_Handler141
3455
0x9D0007F0      0xA020ACE1  SB  R0, Offset(__Lib_USB_CtrlTrfData+1)(GP)
3456
;__Lib_USB.c, 3981 ::
3457
L___Lib_USB_USB_Get_Status_Handler143:
3458
;__Lib_USB.c, 3982 ::
3459
0x9D0007F4      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3460
0x9D0007F8      0x34420080  ORI R2, R2, 128
3461
0x9D0007FC      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3462
;__Lib_USB.c, 3989 ::
3463
0x9D000800      0x9022ACE0  LBU R2, Offset(__Lib_USB_CtrlTrfData+0)(GP)
3464
0x9D000804      0x34420001  ORI R2, R2, 1
3465
0x9D000808      0xA022ACE0  SB  R2, Offset(__Lib_USB_CtrlTrfData+0)(GP)
3466
;__Lib_USB.c, 3992 ::
3467
0x9D00080C      0x90239F9B  LBU R3, Offset(__Lib_USB_RemoteWakeup+0)(GP)
3468
0x9D000810      0x34020001  ORI R2, R0, 1
3469
0x9D000814      0x14620004  BNE R3, R2, L___Lib_USB_USB_Get_Status_Handler145
3470
0x9D000818      0x70000000  NOP
3471
L___Lib_USB_USB_Get_Status_Handler468:
3472
;__Lib_USB.c, 3993 ::
3473
0x9D00081C      0x9022ACE0  LBU R2, Offset(__Lib_USB_CtrlTrfData+0)(GP)
3474
0x9D000820      0x34420002  ORI R2, R2, 2
3475
0x9D000824      0xA022ACE0  SB  R2, Offset(__Lib_USB_CtrlTrfData+0)(GP)
3476
;__Lib_USB.c, 3994 ::
3477
L___Lib_USB_USB_Get_Status_Handler145:
3478
;__Lib_USB.c, 3995 ::
3479
0x9D000828      0x0B400241  J   L___Lib_USB_USB_Get_Status_Handler142
3480
0x9D00082C      0x70000000  NOP
3481
;__Lib_USB.c, 3996 ::
3482
L___Lib_USB_USB_Get_Status_Handler146:
3483
;__Lib_USB.c, 3997 ::
3484
0x9D000830      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3485
0x9D000834      0x34420080  ORI R2, R2, 128
3486
;__Lib_USB.c, 3998 ::
3487
0x9D000838      0x0B400241  J   L___Lib_USB_USB_Get_Status_Handler142
3488
0x9D00083C      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3489
;__Lib_USB.c, 3999 ::
3490
L___Lib_USB_USB_Get_Status_Handler147:
3491
;__Lib_USB.c, 4000 ::
3492
0x9D000840      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3493
0x9D000844      0x34420080  ORI R2, R2, 128
3494
0x9D000848      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3495
;__Lib_USB.c, 4007 ::
3496
0x9D00084C      0x9022ACBC  LBU R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3497
0x9D000850      0x7C4201C0  EXT R2, R2, 7, 1
3498
0x9D000854      0x1440000A  BNE R2, R0, L___Lib_USB_USB_Get_Status_Handler148
3499
0x9D000858      0x70000000  NOP
3500
L___Lib_USB_USB_Get_Status_Handler469:
3501
;__Lib_USB.c, 4008 ::
3502
0x9D00085C      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3503
0x9D000860      0x7C421800  EXT R2, R2, 0, 4
3504
0x9D000864      0x00021880  SLL R3, R2, 2
3505
0x9D000868      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_OutPtr+0)
3506
0x9D00086C      0x34422CCC  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_OutPtr+0)
3507
0x9D000870      0x00431021  ADDU        R2, R2, R3
3508
0x9D000874      0x8C420000  LW  R2, 0(R2)
3509
; p start address is: 12 (R3)
3510
;__Lib_USB.c, 4009 ::
3511
; p end address is: 12 (R3)
3512
0x9D000878      0x0B400228  J   L___Lib_USB_USB_Get_Status_Handler149
3513
0x9D00087C      0x0040180A  MOVZ        R3, R2, R0
3514
L___Lib_USB_USB_Get_Status_Handler148:
3515
;__Lib_USB.c, 4010 ::
3516
0x9D000880      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3517
0x9D000884      0x7C421800  EXT R2, R2, 0, 4
3518
0x9D000888      0x00021880  SLL R3, R2, 2
3519
0x9D00088C      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_InPtr+0)
3520
0x9D000890      0x34422C9C  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_InPtr+0)
3521
0x9D000894      0x00431021  ADDU        R2, R2, R3
3522
0x9D000898      0x8C420000  LW  R2, 0(R2)
3523
; p start address is: 12 (R3)
3524
0x9D00089C      0x0040180A  MOVZ        R3, R2, R0
3525
; p end address is: 12 (R3)
3526
;__Lib_USB.c, 4011 ::
3527
L___Lib_USB_USB_Get_Status_Handler149:
3528
;__Lib_USB.c, 4013 ::
3529
; p start address is: 12 (R3)
3530
0x9D0008A0      0x94620000  LHU R2, 0(R3)
3531
; p end address is: 12 (R3)
3532
0x9D0008A4      0x30420004  ANDI        R2, R2, 4
3533
0x9D0008A8      0x10400003  BEQ R2, R0, L___Lib_USB_USB_Get_Status_Handler150
3534
0x9D0008AC      0x70000000  NOP
3535
L___Lib_USB_USB_Get_Status_Handler471:
3536
;__Lib_USB.c, 4014 ::
3537
0x9D0008B0      0x34020001  ORI R2, R0, 1
3538
0x9D0008B4      0xA022ACE0  SB  R2, Offset(__Lib_USB_CtrlTrfData+0)(GP)
3539
L___Lib_USB_USB_Get_Status_Handler150:
3540
;__Lib_USB.c, 4015 ::
3541
0x9D0008B8      0x0B400241  J   L___Lib_USB_USB_Get_Status_Handler142
3542
0x9D0008BC      0x70000000  NOP
3543
;__Lib_USB.c, 4017 ::
3544
L___Lib_USB_USB_Get_Status_Handler141:
3545
0x9D0008C0      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
3546
0x9D0008C4      0x7C422000  EXT R2, R2, 0, 5
3547
0x9D0008C8      0x304200FF  ANDI        R2, R2, 255
3548
0x9D0008CC      0x1040FFC9  BEQ R2, R0, L___Lib_USB_USB_Get_Status_Handler143
3549
0x9D0008D0      0x70000000  NOP
3550
L___Lib_USB_USB_Get_Status_Handler473:
3551
0x9D0008D4      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
3552
0x9D0008D8      0x7C422000  EXT R2, R2, 0, 5
3553
0x9D0008DC      0x304300FF  ANDI        R3, R2, 255
3554
0x9D0008E0      0x34020001  ORI R2, R0, 1
3555
0x9D0008E4      0x1062FFD2  BEQ R3, R2, L___Lib_USB_USB_Get_Status_Handler146
3556
0x9D0008E8      0x70000000  NOP
3557
L___Lib_USB_USB_Get_Status_Handler475:
3558
0x9D0008EC      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
3559
0x9D0008F0      0x7C422000  EXT R2, R2, 0, 5
3560
0x9D0008F4      0x304300FF  ANDI        R3, R2, 255
3561
0x9D0008F8      0x34020002  ORI R2, R0, 2
3562
0x9D0008FC      0x1062FFD0  BEQ R3, R2, L___Lib_USB_USB_Get_Status_Handler147
3563
0x9D000900      0x70000000  NOP
3564
L___Lib_USB_USB_Get_Status_Handler477:
3565
L___Lib_USB_USB_Get_Status_Handler142:
3566
;__Lib_USB.c, 4019 ::
3567
0x9D000904      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3568
0x9D000908      0x7C4201C0  EXT R2, R2, 7, 1
3569
0x9D00090C      0x10400009  BEQ R2, 1, L___Lib_USB_USB_Get_Status_Handler151
3570
0x9D000910      0x70000000  NOP
3571
L___Lib_USB_USB_Get_Status_Handler479:
3572
;__Lib_USB.c, 4020 ::
3573
0x9D000914      0x3C02A000  LUI R2, hi_addr(__Lib_USB_CtrlTrfData+0)
3574
0x9D000918      0x34422CE0  ORI R2, R2, lo_addr(__Lib_USB_CtrlTrfData+0)
3575
0x9D00091C      0xAC22ACC0  SW  R2, Offset(__Lib_USB_inPipes+0)(GP)
3576
;__Lib_USB.c, 4021 ::
3577
0x9D000920      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3578
0x9D000924      0x34420001  ORI R2, R2, 1
3579
0x9D000928      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3580
;__Lib_USB.c, 4022 ::
3581
0x9D00092C      0x34020002  ORI R2, R0, 2
3582
0x9D000930      0xA022ACC6  SB  R2, Offset(__Lib_USB_inPipes+6)(GP)
3583
;__Lib_USB.c, 4023 ::
3584
L___Lib_USB_USB_Get_Status_Handler151:
3585
;__Lib_USB.c, 4024 ::
3586
L_end_USB_Get_Status_Handler:
3587
0x9D000934      0x03E00008  JR  RA
3588
0x9D000938      0x27BD0004  ADDIU       SP, SP, 4
3589
; end of __Lib_USB_USB_Get_Status_Handler
3590
__Lib_USB_USB_Std_Feature_Req_Handler:
3591
;__Lib_USB.c, 3606 ::
3592
0x9D000B0C      0x27BDFFE8  ADDIU       SP, SP, -24
3593
0x9D000B10      0xAFBF0000  SW  RA, 0(SP)
3594
;__Lib_USB.c, 3612 ::
3595
0x9D000B14      0xAFB90004  SW  R25, 4(SP)
3596
0x9D000B18      0xAFBA0008  SW  R26, 8(SP)
3597
0x9D000B1C      0xAFBB000C  SW  R27, 12(SP)
3598
0x9D000B20      0x9023ACBA  LBU R3, Offset(__Lib_USB_SetupPkt+2)(GP)
3599
0x9D000B24      0x34020001  ORI R2, R0, 1
3600
0x9D000B28      0x14620011  BNE R3, R2, L___Lib_USB_USB_Std_Feature_Req_Handler271
3601
0x9D000B2C      0x70000000  NOP
3602
L___Lib_USB_USB_Std_Feature_Req_Handler427:
3603
0x9D000B30      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
3604
0x9D000B34      0x7C422000  EXT R2, R2, 0, 5
3605
0x9D000B38      0x304200FF  ANDI        R2, R2, 255
3606
0x9D000B3C      0x1440000C  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler270
3607
0x9D000B40      0x70000000  NOP
3608
L___Lib_USB_USB_Std_Feature_Req_Handler428:
3609
L___Lib_USB_USB_Std_Feature_Req_Handler269:
3610
;__Lib_USB.c, 3614 ::
3611
0x9D000B44      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3612
0x9D000B48      0x34420080  ORI R2, R2, 128
3613
0x9D000B4C      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3614
;__Lib_USB.c, 3615 ::
3615
0x9D000B50      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3616
0x9D000B54      0x34020003  ORI R2, R0, 3
3617
0x9D000B58      0x14620004  BNE R3, R2, L___Lib_USB_USB_Std_Feature_Req_Handler98
3618
0x9D000B5C      0x70000000  NOP
3619
L___Lib_USB_USB_Std_Feature_Req_Handler429:
3620
;__Lib_USB.c, 3616 ::
3621
0x9D000B60      0x34020001  ORI R2, R0, 1
3622
0x9D000B64      0x0B4002DC  J   L___Lib_USB_USB_Std_Feature_Req_Handler99
3623
0x9D000B68      0xA0229F9B  SB  R2, Offset(__Lib_USB_RemoteWakeup+0)(GP)
3624
L___Lib_USB_USB_Std_Feature_Req_Handler98:
3625
;__Lib_USB.c, 3618 ::
3626
0x9D000B6C      0xA0209F9B  SB  R0, Offset(__Lib_USB_RemoteWakeup+0)(GP)
3627
L___Lib_USB_USB_Std_Feature_Req_Handler99:
3628
;__Lib_USB.c, 3612 ::
3629
L___Lib_USB_USB_Std_Feature_Req_Handler271:
3630
L___Lib_USB_USB_Std_Feature_Req_Handler270:
3631
;__Lib_USB.c, 3623 ::
3632
0x9D000B70      0x9022ACBA  LBU R2, Offset(__Lib_USB_SetupPkt+2)(GP)
3633
0x9D000B74      0x144000E0  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler279
3634
0x9D000B78      0x70000000  NOP
3635
L___Lib_USB_USB_Std_Feature_Req_Handler430:
3636
0x9D000B7C      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
3637
0x9D000B80      0x7C422000  EXT R2, R2, 0, 5
3638
0x9D000B84      0x304300FF  ANDI        R3, R2, 255
3639
0x9D000B88      0x34020002  ORI R2, R0, 2
3640
0x9D000B8C      0x146200DA  BNE R3, R2, L___Lib_USB_USB_Std_Feature_Req_Handler278
3641
0x9D000B90      0x70000000  NOP
3642
L___Lib_USB_USB_Std_Feature_Req_Handler431:
3643
;__Lib_USB.c, 3624 ::
3644
0x9D000B94      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3645
0x9D000B98      0x7C421800  EXT R2, R2, 0, 4
3646
0x9D000B9C      0x104000D6  BEQ R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler277
3647
0x9D000BA0      0x70000000  NOP
3648
L___Lib_USB_USB_Std_Feature_Req_Handler433:
3649
0x9D000BA4      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3650
0x9D000BA8      0x7C421800  EXT R2, R2, 0, 4
3651
0x9D000BAC      0x2C420002  SLTIU       R2, R2, 2
3652
0x9D000BB0      0x104000D1  BEQ R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler276
3653
0x9D000BB4      0x70000000  NOP
3654
L___Lib_USB_USB_Std_Feature_Req_Handler434:
3655
;__Lib_USB.c, 3625 ::
3656
0x9D000BB8      0x9023ABF5  LBU R3, Offset(__Lib_USB_USBDeviceState+0)(GP)
3657
0x9D000BBC      0x34020020  ORI R2, R0, 32
3658
0x9D000BC0      0x146200CD  BNE R3, R2, L___Lib_USB_USB_Std_Feature_Req_Handler275
3659
0x9D000BC4      0x70000000  NOP
3660
L___Lib_USB_USB_Std_Feature_Req_Handler435:
3661
L___Lib_USB_USB_Std_Feature_Req_Handler268:
3662
;__Lib_USB.c, 3629 ::
3663
0x9D000BC8      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3664
0x9D000BCC      0x34420080  ORI R2, R2, 128
3665
0x9D000BD0      0xA022ACC4  SB  R2, Offset(__Lib_USB_inPipes+4)(GP)
3666
;__Lib_USB.c, 3632 ::
3667
0x9D000BD4      0x9022ACBC  LBU R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3668
0x9D000BD8      0x7C4201C0  EXT R2, R2, 7, 1
3669
0x9D000BDC      0x14400012  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler103
3670
0x9D000BE0      0x70000000  NOP
3671
L___Lib_USB_USB_Std_Feature_Req_Handler436:
3672
;__Lib_USB.c, 3634 ::
3673
0x9D000BE4      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3674
0x9D000BE8      0x7C421800  EXT R2, R2, 0, 4
3675
0x9D000BEC      0x00021880  SLL R3, R2, 2
3676
0x9D000BF0      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_OutPtr+0)
3677
0x9D000BF4      0x34422CCC  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_OutPtr+0)
3678
0x9D000BF8      0x00431021  ADDU        R2, R2, R3
3679
0x9D000BFC      0x8C420000  LW  R2, 0(R2)
3680
0x9D000C00      0xAFA20010  SW  R2, 16(SP)
3681
;__Lib_USB.c, 3635 ::
3682
0x9D000C04      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3683
0x9D000C08      0x7C421800  EXT R2, R2, 0, 4
3684
0x9D000C0C      0x0040180A  MOVZ        R3, R2, R0
3685
0x9D000C10      0x3C02A000  LUI R2, hi_addr(_ep_data_out+0)
3686
0x9D000C14      0x3442004E  ORI R2, R2, lo_addr(_ep_data_out+0)
3687
0x9D000C18      0x00431021  ADDU        R2, R2, R3
3688
0x9D000C1C      0x90420000  LBU R2, 0(R2)
3689
;__Lib_USB.c, 3636 ::
3690
0x9D000C20      0x0B40031A  J   L___Lib_USB_USB_Std_Feature_Req_Handler104
3691
0x9D000C24      0xA3A20014  SB  R2, 20(SP)
3692
L___Lib_USB_USB_Std_Feature_Req_Handler103:
3693
;__Lib_USB.c, 3639 ::
3694
0x9D000C28      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3695
0x9D000C2C      0x7C421800  EXT R2, R2, 0, 4
3696
0x9D000C30      0x00021880  SLL R3, R2, 2
3697
0x9D000C34      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_InPtr+0)
3698
0x9D000C38      0x34422C9C  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_InPtr+0)
3699
0x9D000C3C      0x00431021  ADDU        R2, R2, R3
3700
0x9D000C40      0x8C420000  LW  R2, 0(R2)
3701
0x9D000C44      0xAFA20010  SW  R2, 16(SP)
3702
;__Lib_USB.c, 3640 ::
3703
0x9D000C48      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3704
0x9D000C4C      0x7C421800  EXT R2, R2, 0, 4
3705
0x9D000C50      0x0040180A  MOVZ        R3, R2, R0
3706
0x9D000C54      0x3C02A000  LUI R2, hi_addr(_ep_data_in+0)
3707
0x9D000C58      0x34422BE1  ORI R2, R2, lo_addr(_ep_data_in+0)
3708
0x9D000C5C      0x00431021  ADDU        R2, R2, R3
3709
0x9D000C60      0x90420000  LBU R2, 0(R2)
3710
0x9D000C64      0xA3A20014  SB  R2, 20(SP)
3711
;__Lib_USB.c, 3641 ::
3712
L___Lib_USB_USB_Std_Feature_Req_Handler104:
3713
;__Lib_USB.c, 3647 ::
3714
0x9D000C68      0x93A20014  LBU R2, 20(SP)
3715
0x9D000C6C      0x7C420000  EXT R2, R2, 0, 1
3716
0x9D000C70      0x14400007  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler105
3717
0x9D000C74      0x70000000  NOP
3718
L___Lib_USB_USB_Std_Feature_Req_Handler437:
3719
;__Lib_USB.c, 3649 ::
3720
0x9D000C78      0x27A40010  ADDIU       R4, SP, 16
3721
0x9D000C7C      0x90830000  LBU R3, 0(R4)
3722
0x9D000C80      0x340200F7  ORI R2, R0, 247
3723
0x9D000C84      0x00621024  AND R2, R3, R2
3724
;__Lib_USB.c, 3650 ::
3725
0x9D000C88      0x0B400328  J   L___Lib_USB_USB_Std_Feature_Req_Handler106
3726
0x9D000C8C      0xA0820000  SB  R2, 0(R4)
3727
L___Lib_USB_USB_Std_Feature_Req_Handler105:
3728
;__Lib_USB.c, 3653 ::
3729
0x9D000C90      0x27A30010  ADDIU       R3, SP, 16
3730
0x9D000C94      0x90620000  LBU R2, 0(R3)
3731
0x9D000C98      0x34420008  ORI R2, R2, 8
3732
0x9D000C9C      0xA0620000  SB  R2, 0(R3)
3733
;__Lib_USB.c, 3654 ::
3734
L___Lib_USB_USB_Std_Feature_Req_Handler106:
3735
;__Lib_USB.c, 3659 ::
3736
0x9D000CA0      0x9022ACBC  LBU R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3737
0x9D000CA4      0x7C4201C0  EXT R2, R2, 7, 1
3738
0x9D000CA8      0x1440000A  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler107
3739
0x9D000CAC      0x70000000  NOP
3740
L___Lib_USB_USB_Std_Feature_Req_Handler438:
3741
;__Lib_USB.c, 3661 ::
3742
0x9D000CB0      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3743
0x9D000CB4      0x7C421800  EXT R2, R2, 0, 4
3744
0x9D000CB8      0x00021880  SLL R3, R2, 2
3745
0x9D000CBC      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_OutPtr+0)
3746
0x9D000CC0      0x34422CCC  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_OutPtr+0)
3747
0x9D000CC4      0x00431821  ADDU        R3, R2, R3
3748
0x9D000CC8      0x8FA20010  LW  R2, 16(SP)
3749
;__Lib_USB.c, 3662 ::
3750
0x9D000CCC      0x0B40033D  J   L___Lib_USB_USB_Std_Feature_Req_Handler108
3751
0x9D000CD0      0xAC620000  SW  R2, 0(R3)
3752
L___Lib_USB_USB_Std_Feature_Req_Handler107:
3753
;__Lib_USB.c, 3665 ::
3754
0x9D000CD4      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3755
0x9D000CD8      0x7C421800  EXT R2, R2, 0, 4
3756
0x9D000CDC      0x00021880  SLL R3, R2, 2
3757
0x9D000CE0      0x3C02A000  LUI R2, hi_addr(__Lib_USB_BDTEntry_InPtr+0)
3758
0x9D000CE4      0x34422C9C  ORI R2, R2, lo_addr(__Lib_USB_BDTEntry_InPtr+0)
3759
0x9D000CE8      0x00431821  ADDU        R3, R2, R3
3760
0x9D000CEC      0x8FA20010  LW  R2, 16(SP)
3761
0x9D000CF0      0xAC620000  SW  R2, 0(R3)
3762
;__Lib_USB.c, 3666 ::
3763
L___Lib_USB_USB_Std_Feature_Req_Handler108:
3764
;__Lib_USB.c, 3669 ::
3765
0x9D000CF4      0x9023ACB9  LBU R3, Offset(__Lib_USB_SetupPkt+1)(GP)
3766
0x9D000CF8      0x34020003  ORI R2, R0, 3
3767
0x9D000CFC      0x14620023  BNE R3, R2, L___Lib_USB_USB_Std_Feature_Req_Handler109
3768
0x9D000D00      0x70000000  NOP
3769
L___Lib_USB_USB_Std_Feature_Req_Handler439:
3770
;__Lib_USB.c, 3671 ::
3771
0x9D000D04      0x8FA20010  LW  R2, 16(SP)
3772
0x9D000D08      0x90420000  LBU R2, 0(R2)
3773
0x9D000D0C      0x7C4201C0  EXT R2, R2, 7, 1
3774
0x9D000D10      0x10400018  BEQ R2, 1, L___Lib_USB_USB_Std_Feature_Req_Handler110
3775
0x9D000D14      0x70000000  NOP
3776
L___Lib_USB_USB_Std_Feature_Req_Handler441:
3777
;__Lib_USB.c, 3675 ::
3778
0x9D000D18      0x9022ACBC  LBU R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3779
0x9D000D1C      0x7C4201C0  EXT R2, R2, 7, 1
3780
0x9D000D20      0x1440000B  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler111
3781
0x9D000D24      0x70000000  NOP
3782
L___Lib_USB_USB_Std_Feature_Req_Handler442:
3783
;__Lib_USB.c, 3677 ::
3784
0x9D000D28      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3785
0x9D000D2C      0x7C421800  EXT R2, R2, 0, 4
3786
0x9D000D30      0x0040180A  MOVZ        R3, R2, R0
3787
0x9D000D34      0x3C02A000  LUI R2, hi_addr(_ep_data_out+0)
3788
0x9D000D38      0x3442004E  ORI R2, R2, lo_addr(_ep_data_out+0)
3789
0x9D000D3C      0x00431821  ADDU        R3, R2, R3
3790
0x9D000D40      0x90620000  LBU R2, 0(R3)
3791
0x9D000D44      0x34420002  ORI R2, R2, 2
3792
;__Lib_USB.c, 3678 ::
3793
0x9D000D48      0x0B40035D  J   L___Lib_USB_USB_Std_Feature_Req_Handler112
3794
0x9D000D4C      0xA0620000  SB  R2, 0(R3)
3795
L___Lib_USB_USB_Std_Feature_Req_Handler111:
3796
;__Lib_USB.c, 3681 ::
3797
0x9D000D50      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3798
0x9D000D54      0x7C421800  EXT R2, R2, 0, 4
3799
0x9D000D58      0x0040180A  MOVZ        R3, R2, R0
3800
0x9D000D5C      0x3C02A000  LUI R2, hi_addr(_ep_data_in+0)
3801
0x9D000D60      0x34422BE1  ORI R2, R2, lo_addr(_ep_data_in+0)
3802
0x9D000D64      0x00431821  ADDU        R3, R2, R3
3803
0x9D000D68      0x90620000  LBU R2, 0(R3)
3804
0x9D000D6C      0x34420002  ORI R2, R2, 2
3805
0x9D000D70      0xA0620000  SB  R2, 0(R3)
3806
;__Lib_USB.c, 3682 ::
3807
L___Lib_USB_USB_Std_Feature_Req_Handler112:
3808
;__Lib_USB.c, 3683 ::
3809
L___Lib_USB_USB_Std_Feature_Req_Handler110:
3810
;__Lib_USB.c, 3686 ::
3811
0x9D000D74      0x8FA20010  LW  R2, 16(SP)
3812
0x9D000D78      0x94420000  LHU R2, 0(R2)
3813
0x9D000D7C      0x34430084  ORI R3, R2, 132
3814
0x9D000D80      0x8FA20010  LW  R2, 16(SP)
3815
;__Lib_USB.c, 3687 ::
3816
0x9D000D84      0x0B4003BE  J   L___Lib_USB_USB_Std_Feature_Req_Handler113
3817
0x9D000D88      0xA4430000  SH  R3, 0(R2)
3818
L___Lib_USB_USB_Std_Feature_Req_Handler109:
3819
;__Lib_USB.c, 3693 ::
3820
0x9D000D8C      0x27A30010  ADDIU       R3, SP, 16
3821
0x9D000D90      0x90620000  LBU R2, 0(R3)
3822
0x9D000D94      0x38420008  XORI        R2, R2, 8
3823
0x9D000D98      0xA0620000  SB  R2, 0(R3)
3824
;__Lib_USB.c, 3695 ::
3825
0x9D000D9C      0x8FA20010  LW  R2, 16(SP)
3826
0x9D000DA0      0x90420000  LBU R2, 0(R2)
3827
0x9D000DA4      0x7C4201C0  EXT R2, R2, 7, 1
3828
0x9D000DA8      0x10400011  BEQ R2, 1, L___Lib_USB_USB_Std_Feature_Req_Handler114
3829
0x9D000DAC      0x70000000  NOP
3830
L___Lib_USB_USB_Std_Feature_Req_Handler444:
3831
;__Lib_USB.c, 3699 ::
3832
0x9D000DB0      0x8FA20010  LW  R2, 16(SP)
3833
0x9D000DB4      0x94420000  LHU R2, 0(R2)
3834
0x9D000DB8      0x3043007F  ANDI        R3, R2, 127
3835
0x9D000DBC      0x8FA20010  LW  R2, 16(SP)
3836
0x9D000DC0      0xA4430000  SH  R3, 0(R2)
3837
;__Lib_USB.c, 3700 ::
3838
0x9D000DC4      0x8FA20010  LW  R2, 16(SP)
3839
0x9D000DC8      0x94420000  LHU R2, 0(R2)
3840
0x9D000DCC      0x34430040  ORI R3, R2, 64
3841
0x9D000DD0      0x8FA20010  LW  R2, 16(SP)
3842
0x9D000DD4      0xA4430000  SH  R3, 0(R2)
3843
;__Lib_USB.c, 3701 ::
3844
0x9D000DD8      0x341B0004  ORI R27, R0, 4
3845
0x9D000DDC      0x8FBA0010  LW  R26, 16(SP)
3846
0x9D000DE0      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
3847
0x9D000DE4      0x34190005  ORI R25, R0, 5
3848
;__Lib_USB.c, 3702 ::
3849
0x9D000DE8      0x0B400381  J   L___Lib_USB_USB_Std_Feature_Req_Handler115
3850
0x9D000DEC      0x70000000  NOP
3851
L___Lib_USB_USB_Std_Feature_Req_Handler114:
3852
;__Lib_USB.c, 3706 ::
3853
0x9D000DF0      0x8FA20010  LW  R2, 16(SP)
3854
0x9D000DF4      0x94420000  LHU R2, 0(R2)
3855
0x9D000DF8      0x34430040  ORI R3, R2, 64
3856
0x9D000DFC      0x8FA20010  LW  R2, 16(SP)
3857
0x9D000E00      0xA4430000  SH  R3, 0(R2)
3858
;__Lib_USB.c, 3707 ::
3859
L___Lib_USB_USB_Std_Feature_Req_Handler115:
3860
;__Lib_USB.c, 3711 ::
3861
0x9D000E04      0x27A30010  ADDIU       R3, SP, 16
3862
0x9D000E08      0x90620000  LBU R2, 0(R3)
3863
0x9D000E0C      0x38420008  XORI        R2, R2, 8
3864
0x9D000E10      0xA0620000  SB  R2, 0(R3)
3865
;__Lib_USB.c, 3717 ::
3866
0x9D000E14      0x93A20014  LBU R2, 20(SP)
3867
0x9D000E18      0x7C420040  EXT R2, R2, 1, 1
3868
0x9D000E1C      0x1440000F  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler274
3869
0x9D000E20      0x70000000  NOP
3870
L___Lib_USB_USB_Std_Feature_Req_Handler445:
3871
0x9D000E24      0x8FA20010  LW  R2, 16(SP)
3872
0x9D000E28      0x90420000  LBU R2, 0(R2)
3873
0x9D000E2C      0x7C4201C0  EXT R2, R2, 7, 1
3874
0x9D000E30      0x10400008  BEQ R2, 1, L___Lib_USB_USB_Std_Feature_Req_Handler273
3875
0x9D000E34      0x70000000  NOP
3876
L___Lib_USB_USB_Std_Feature_Req_Handler447:
3877
0x9D000E38      0x8FA20010  LW  R2, 16(SP)
3878
0x9D000E3C      0x90420000  LBU R2, 0(R2)
3879
0x9D000E40      0x7C420080  EXT R2, R2, 2, 1
3880
0x9D000E44      0x14400003  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler272
3881
0x9D000E48      0x70000000  NOP
3882
L___Lib_USB_USB_Std_Feature_Req_Handler448:
3883
0x9D000E4C      0x0B400397  J   L___Lib_USB_USB_Std_Feature_Req_Handler266
3884
0x9D000E50      0x70000000  NOP
3885
L___Lib_USB_USB_Std_Feature_Req_Handler273:
3886
L___Lib_USB_USB_Std_Feature_Req_Handler272:
3887
0x9D000E54      0x0B4003B9  J   L___Lib_USB_USB_Std_Feature_Req_Handler120
3888
0x9D000E58      0x70000000  NOP
3889
L___Lib_USB_USB_Std_Feature_Req_Handler266:
3890
L___Lib_USB_USB_Std_Feature_Req_Handler274:
3891
;__Lib_USB.c, 3719 ::
3892
0x9D000E5C      0x9022ACBC  LBU R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3893
0x9D000E60      0x7C4201C0  EXT R2, R2, 7, 1
3894
0x9D000E64      0x1440000B  BNE R2, R0, L___Lib_USB_USB_Std_Feature_Req_Handler121
3895
0x9D000E68      0x70000000  NOP
3896
L___Lib_USB_USB_Std_Feature_Req_Handler449:
3897
;__Lib_USB.c, 3721 ::
3898
0x9D000E6C      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3899
0x9D000E70      0x7C421800  EXT R2, R2, 0, 4
3900
0x9D000E74      0x0040180A  MOVZ        R3, R2, R0
3901
0x9D000E78      0x3C02A000  LUI R2, hi_addr(_ep_data_out+0)
3902
0x9D000E7C      0x3442004E  ORI R2, R2, lo_addr(_ep_data_out+0)
3903
0x9D000E80      0x00431821  ADDU        R3, R2, R3
3904
0x9D000E84      0x90620000  LBU R2, 0(R3)
3905
0x9D000E88      0x7C020844  INS R2, R0, 1, 1
3906
;__Lib_USB.c, 3722 ::
3907
0x9D000E8C      0x0B4003AE  J   L___Lib_USB_USB_Std_Feature_Req_Handler122
3908
0x9D000E90      0xA0620000  SB  R2, 0(R3)
3909
L___Lib_USB_USB_Std_Feature_Req_Handler121:
3910
;__Lib_USB.c, 3725 ::
3911
0x9D000E94      0x8C22ACBC  LW  R2, Offset(__Lib_USB_SetupPkt+4)(GP)
3912
0x9D000E98      0x7C421800  EXT R2, R2, 0, 4
3913
0x9D000E9C      0x0040180A  MOVZ        R3, R2, R0
3914
0x9D000EA0      0x3C02A000  LUI R2, hi_addr(_ep_data_in+0)
3915
0x9D000EA4      0x34422BE1  ORI R2, R2, lo_addr(_ep_data_in+0)
3916
0x9D000EA8      0x00431821  ADDU        R3, R2, R3
3917
0x9D000EAC      0x90620000  LBU R2, 0(R3)
3918
0x9D000EB0      0x7C020844  INS R2, R0, 1, 1
3919
0x9D000EB4      0xA0620000  SB  R2, 0(R3)
3920
;__Lib_USB.c, 3726 ::
3921
L___Lib_USB_USB_Std_Feature_Req_Handler122:
3922
;__Lib_USB.c, 3728 ::
3923
0x9D000EB8      0x8FA20010  LW  R2, 16(SP)
3924
0x9D000EBC      0x94420000  LHU R2, 0(R2)
3925
0x9D000EC0      0x3043003B  ANDI        R3, R2, 59
3926
0x9D000EC4      0x8FA20010  LW  R2, 16(SP)
3927
0x9D000EC8      0xA4430000  SH  R3, 0(R2)
3928
;__Lib_USB.c, 3729 ::
3929
0x9D000ECC      0x341B0004  ORI R27, R0, 4
3930
0x9D000ED0      0x8FBA0010  LW  R26, 16(SP)
3931
0x9D000ED4      0x0F4005DB  JAL __Lib_USB_USB_CB_Handler+0
3932
0x9D000ED8      0x34190005  ORI R25, R0, 5
3933
;__Lib_USB.c, 3730 ::
3934
0x9D000EDC      0x0B4003BE  J   L___Lib_USB_USB_Std_Feature_Req_Handler123
3935
0x9D000EE0      0x70000000  NOP
3936
L___Lib_USB_USB_Std_Feature_Req_Handler120:
3937
;__Lib_USB.c, 3734 ::
3938
0x9D000EE4      0x8FA20010  LW  R2, 16(SP)
3939
0x9D000EE8      0x94420000  LHU R2, 0(R2)
3940
0x9D000EEC      0x3043003B  ANDI        R3, R2, 59
3941
0x9D000EF0      0x8FA20010  LW  R2, 16(SP)
3942
0x9D000EF4      0xA4430000  SH  R3, 0(R2)
3943
;__Lib_USB.c, 3735 ::
3944
L___Lib_USB_USB_Std_Feature_Req_Handler123:
3945
;__Lib_USB.c, 3769 ::
3946
L___Lib_USB_USB_Std_Feature_Req_Handler113:
3947
;__Lib_USB.c, 3623 ::
3948
L___Lib_USB_USB_Std_Feature_Req_Handler279:
3949
L___Lib_USB_USB_Std_Feature_Req_Handler278:
3950
;__Lib_USB.c, 3624 ::
3951
L___Lib_USB_USB_Std_Feature_Req_Handler277:
3952
L___Lib_USB_USB_Std_Feature_Req_Handler276:
3953
;__Lib_USB.c, 3625 ::
3954
L___Lib_USB_USB_Std_Feature_Req_Handler275:
3955
;__Lib_USB.c, 3771 ::
3956
L_end_USB_Std_Feature_Req_Handler:
3957
0x9D000EF8      0x8FBB000C  LW  R27, 12(SP)
3958
0x9D000EFC      0x8FBA0008  LW  R26, 8(SP)
3959
0x9D000F00      0x8FB90004  LW  R25, 4(SP)
3960
0x9D000F04      0x8FBF0000  LW  RA, 0(SP)
3961
0x9D000F08      0x03E00008  JR  RA
3962
0x9D000F0C      0x27BD0018  ADDIU       SP, SP, 24
3963
; end of __Lib_USB_USB_Std_Feature_Req_Handler
3964
__Lib_USB_USB_CtrlEP_Service_Complete:
3965
;__Lib_USB.c, 4054 ::
3966
0x9D0012E4      0x27BDFFFC  ADDIU       SP, SP, -4
3967
0x9D0012E8      0xAFBF0000  SW  RA, 0(SP)
3968
;__Lib_USB.c, 4060 ::
3969
0x9D0012EC      0x3C1EBF88  LUI R30, 49032
3970
0x9D0012F0      0x93C25250  LBU R2, 21072(R30)
3971
0x9D0012F4      0x7C022944  INS R2, R0, 5, 1
3972
0x9D0012F8      0x3C1EBF88  LUI R30, 49032
3973
0x9D0012FC      0xA3C25250  SB  R2, 21072(R30)
3974
;__Lib_USB.c, 4066 ::
3975
0x9D001300      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
3976
0x9D001304      0x7C4201C0  EXT R2, R2, 7, 1
3977
0x9D001308      0x14400025  BNE R2, R0, L___Lib_USB_USB_CtrlEP_Service_Complete152
3978
0x9D00130C      0x70000000  NOP
3979
L___Lib_USB_USB_CtrlEP_Service_Complete481:
3980
;__Lib_USB.c, 4068 ::
3981
0x9D001310      0x9022ACD8  LBU R2, Offset(__Lib_USB_outPipes+4)(GP)
3982
0x9D001314      0x7C4201C0  EXT R2, R2, 7, 1
3983
0x9D001318      0x1040000B  BEQ R2, 1, L___Lib_USB_USB_CtrlEP_Service_Complete153
3984
0x9D00131C      0x70000000  NOP
3985
L___Lib_USB_USB_CtrlEP_Service_Complete483:
3986
;__Lib_USB.c, 4070 ::
3987
0x9D001320      0x34020002  ORI R2, R0, 2
3988
0x9D001324      0xA022ACCA  SB  R2, Offset(__Lib_USB_controlTransferState+0)(GP)
3989
;__Lib_USB.c, 4081 ::
3990
0x9D001328      0x90228057  LBU R2, Offset(_USBDeferOUTDataStagePackets+0)(GP)
3991
0x9D00132C      0x14400003  BNE R2, R0, L___Lib_USB_USB_CtrlEP_Service_Complete154
3992
0x9D001330      0x70000000  NOP
3993
L___Lib_USB_USB_CtrlEP_Service_Complete484:
3994
;__Lib_USB.c, 4083 ::
3995
0x9D001334      0x0F40024F  JAL __Lib_USB_USBCtrlEPAllowDataStage+0
3996
0x9D001338      0x70000000  NOP
3997
;__Lib_USB.c, 4084 ::
3998
L___Lib_USB_USB_CtrlEP_Service_Complete154:
3999
;__Lib_USB.c, 4088 ::
4000
0x9D00133C      0xA0209F99  SB  R0, Offset(_USBStatusStageEnabledFlag2+0)(GP)
4001
;__Lib_USB.c, 4089 ::
4002
;__Lib_USB.c, 4090 ::
4003
0x9D001340      0x0B4004E6  J   L___Lib_USB_USB_CtrlEP_Service_Complete155
4004
0x9D001344      0xA020ABE8  SB  R0, Offset(_USBStatusStageEnabledFlag1+0)(GP)
4005
L___Lib_USB_USB_CtrlEP_Service_Complete153:
4006
;__Lib_USB.c, 4096 ::
4007
0x9D001348      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4008
0x9D00134C      0x24440002  ADDIU       R4, R2, 2
4009
0x9D001350      0x34030008  ORI R3, R0, 8
4010
0x9D001354      0x94820000  LHU R2, 0(R4)
4011
0x9D001358      0x7C624804  INS R2, R3, 0, 10
4012
0x9D00135C      0xA4820000  SH  R2, 0(R4)
4013
;__Lib_USB.c, 4097 ::
4014
0x9D001360      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4015
0x9D001364      0x24440004  ADDIU       R4, R2, 4
4016
0x9D001368      0x3C03A000  LUI R3, hi_addr(__Lib_USB_SetupPkt+0)
4017
0x9D00136C      0x34632CB8  ORI R3, R3, lo_addr(__Lib_USB_SetupPkt+0)
4018
0x9D001370      0x3C021FFF  LUI R2, 8191
4019
0x9D001374      0x3442FFFF  ORI R2, R2, 65535
4020
0x9D001378      0x00621024  AND R2, R3, R2
4021
0x9D00137C      0xAC820000  SW  R2, 0(R4)
4022
;__Lib_USB.c, 4098 ::
4023
0x9D001380      0x3403008C  ORI R3, R0, 140
4024
0x9D001384      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4025
0x9D001388      0xA4430000  SH  R3, 0(R2)
4026
;__Lib_USB.c, 4099 ::
4027
0x9D00138C      0x34030084  ORI R3, R0, 132
4028
0x9D001390      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4029
0x9D001394      0xA4430000  SH  R3, 0(R2)
4030
;__Lib_USB.c, 4100 ::
4031
L___Lib_USB_USB_CtrlEP_Service_Complete155:
4032
;__Lib_USB.c, 4101 ::
4033
0x9D001398      0x0B400516  J   L___Lib_USB_USB_CtrlEP_Service_Complete156
4034
0x9D00139C      0x70000000  NOP
4035
L___Lib_USB_USB_CtrlEP_Service_Complete152:
4036
;__Lib_USB.c, 4104 ::
4037
0x9D0013A0      0x9022ACB8  LBU R2, Offset(__Lib_USB_SetupPkt+0)(GP)
4038
0x9D0013A4      0x7C4201C0  EXT R2, R2, 7, 1
4039
0x9D0013A8      0x10400011  BEQ R2, 1, L___Lib_USB_USB_CtrlEP_Service_Complete157
4040
0x9D0013AC      0x70000000  NOP
4041
L___Lib_USB_USB_CtrlEP_Service_Complete486:
4042
;__Lib_USB.c, 4106 ::
4043
0x9D0013B0      0x34020001  ORI R2, R0, 1
4044
0x9D0013B4      0xA022ACCA  SB  R2, Offset(__Lib_USB_controlTransferState+0)(GP)
4045
;__Lib_USB.c, 4120 ::
4046
0x9D0013B8      0x90229F9A  LBU R2, Offset(_USBDeferINDataStagePackets+0)(GP)
4047
0x9D0013BC      0x14400003  BNE R2, R0, L___Lib_USB_USB_CtrlEP_Service_Complete158
4048
0x9D0013C0      0x70000000  NOP
4049
L___Lib_USB_USB_CtrlEP_Service_Complete487:
4050
;__Lib_USB.c, 4122 ::
4051
0x9D0013C4      0x0F40024F  JAL __Lib_USB_USBCtrlEPAllowDataStage+0
4052
0x9D0013C8      0x70000000  NOP
4053
;__Lib_USB.c, 4123 ::
4054
L___Lib_USB_USB_CtrlEP_Service_Complete158:
4055
;__Lib_USB.c, 4145 ::
4056
0x9D0013CC      0xA0209F99  SB  R0, Offset(_USBStatusStageEnabledFlag2+0)(GP)
4057
;__Lib_USB.c, 4146 ::
4058
0x9D0013D0      0xA020ABE8  SB  R0, Offset(_USBStatusStageEnabledFlag1+0)(GP)
4059
;__Lib_USB.c, 4147 ::
4060
0x9D0013D4      0x90228056  LBU R2, Offset(_USBDeferStatusStagePacket+0)(GP)
4061
0x9D0013D8      0x14400003  BNE R2, R0, L___Lib_USB_USB_CtrlEP_Service_Complete159
4062
0x9D0013DC      0x70000000  NOP
4063
L___Lib_USB_USB_CtrlEP_Service_Complete488:
4064
;__Lib_USB.c, 4149 ::
4065
0x9D0013E0      0x0F400280  JAL __Lib_USB_USBCtrlEPAllowStatusStage+0
4066
0x9D0013E4      0x70000000  NOP
4067
;__Lib_USB.c, 4150 ::
4068
L___Lib_USB_USB_CtrlEP_Service_Complete159:
4069
;__Lib_USB.c, 4151 ::
4070
0x9D0013E8      0x0B400516  J   L___Lib_USB_USB_CtrlEP_Service_Complete160
4071
0x9D0013EC      0x70000000  NOP
4072
L___Lib_USB_USB_CtrlEP_Service_Complete157:
4073
;__Lib_USB.c, 4164 ::
4074
0x9D0013F0      0x34020002  ORI R2, R0, 2
4075
0x9D0013F4      0xA022ACCA  SB  R2, Offset(__Lib_USB_controlTransferState+0)(GP)
4076
;__Lib_USB.c, 4167 ::
4077
0x9D0013F8      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4078
0x9D0013FC      0x24440002  ADDIU       R4, R2, 2
4079
0x9D001400      0x34030008  ORI R3, R0, 8
4080
0x9D001404      0x94820000  LHU R2, 0(R4)
4081
0x9D001408      0x7C624804  INS R2, R3, 0, 10
4082
0x9D00140C      0xA4820000  SH  R2, 0(R4)
4083
;__Lib_USB.c, 4168 ::
4084
0x9D001410      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4085
0x9D001414      0x24440004  ADDIU       R4, R2, 4
4086
0x9D001418      0x3C03A000  LUI R3, hi_addr(__Lib_USB_SetupPkt+0)
4087
0x9D00141C      0x34632CB8  ORI R3, R3, lo_addr(__Lib_USB_SetupPkt+0)
4088
0x9D001420      0x3C021FFF  LUI R2, 8191
4089
0x9D001424      0x3442FFFF  ORI R2, R2, 65535
4090
0x9D001428      0x00621024  AND R2, R3, R2
4091
0x9D00142C      0xAC820000  SW  R2, 0(R4)
4092
;__Lib_USB.c, 4169 ::
4093
0x9D001430      0x34030084  ORI R3, R0, 132
4094
0x9D001434      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4095
0x9D001438      0xA4430000  SH  R3, 0(R2)
4096
;__Lib_USB.c, 4172 ::
4097
0x9D00143C      0xA0209F99  SB  R0, Offset(_USBStatusStageEnabledFlag2+0)(GP)
4098
;__Lib_USB.c, 4173 ::
4099
0x9D001440      0xA020ABE8  SB  R0, Offset(_USBStatusStageEnabledFlag1+0)(GP)
4100
;__Lib_USB.c, 4174 ::
4101
0x9D001444      0x90228056  LBU R2, Offset(_USBDeferStatusStagePacket+0)(GP)
4102
0x9D001448      0x14400003  BNE R2, R0, L___Lib_USB_USB_CtrlEP_Service_Complete161
4103
0x9D00144C      0x70000000  NOP
4104
L___Lib_USB_USB_CtrlEP_Service_Complete489:
4105
;__Lib_USB.c, 4176 ::
4106
0x9D001450      0x0F400280  JAL __Lib_USB_USBCtrlEPAllowStatusStage+0
4107
0x9D001454      0x70000000  NOP
4108
;__Lib_USB.c, 4177 ::
4109
L___Lib_USB_USB_CtrlEP_Service_Complete161:
4110
;__Lib_USB.c, 4178 ::
4111
L___Lib_USB_USB_CtrlEP_Service_Complete160:
4112
;__Lib_USB.c, 4180 ::
4113
L___Lib_USB_USB_CtrlEP_Service_Complete156:
4114
;__Lib_USB.c, 4182 ::
4115
L_end_USB_CtrlEP_Service_Complete:
4116
0x9D001458      0x8FBF0000  LW  RA, 0(SP)
4117
0x9D00145C      0x03E00008  JR  RA
4118
0x9D001460      0x27BD0004  ADDIU       SP, SP, 4
4119
; end of __Lib_USB_USB_CtrlEP_Service_Complete
4120
__Lib_USB_USBCtrlEPAllowDataStage:
4121
;__Lib_USB.c, 3874 ::
4122
0x9D00093C      0x27BDFFFC  ADDIU       SP, SP, -4
4123
0x9D000940      0xAFBF0000  SW  RA, 0(SP)
4124
;__Lib_USB.c, 3876 ::
4125
0x9D000944      0xA0209F9A  SB  R0, Offset(_USBDeferINDataStagePackets+0)(GP)
4126
;__Lib_USB.c, 3877 ::
4127
0x9D000948      0xA0208057  SB  R0, Offset(_USBDeferOUTDataStagePackets+0)(GP)
4128
;__Lib_USB.c, 3879 ::
4129
0x9D00094C      0x9023ACCA  LBU R3, Offset(__Lib_USB_controlTransferState+0)(GP)
4130
0x9D000950      0x34020002  ORI R2, R0, 2
4131
0x9D000954      0x14620013  BNE R3, R2, L___Lib_USB_USBCtrlEPAllowDataStage129
4132
0x9D000958      0x70000000  NOP
4133
L___Lib_USB_USBCtrlEPAllowDataStage456:
4134
;__Lib_USB.c, 3882 ::
4135
0x9D00095C      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4136
0x9D000960      0x24440002  ADDIU       R4, R2, 2
4137
0x9D000964      0x34030008  ORI R3, R0, 8
4138
0x9D000968      0x94820000  LHU R2, 0(R4)
4139
0x9D00096C      0x7C624804  INS R2, R3, 0, 10
4140
0x9D000970      0xA4820000  SH  R2, 0(R4)
4141
;__Lib_USB.c, 3883 ::
4142
0x9D000974      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4143
0x9D000978      0x24440004  ADDIU       R4, R2, 4
4144
0x9D00097C      0x3C03A000  LUI R3, hi_addr(__Lib_USB_CtrlTrfData+0)
4145
0x9D000980      0x34632CE0  ORI R3, R3, lo_addr(__Lib_USB_CtrlTrfData+0)
4146
0x9D000984      0x3C021FFF  LUI R2, 8191
4147
0x9D000988      0x3442FFFF  ORI R2, R2, 65535
4148
0x9D00098C      0x00621024  AND R2, R3, R2
4149
0x9D000990      0xAC820000  SW  R2, 0(R4)
4150
;__Lib_USB.c, 3884 ::
4151
0x9D000994      0x340300C8  ORI R3, R0, 200
4152
0x9D000998      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4153
;__Lib_USB.c, 3885 ::
4154
0x9D00099C      0x0B40027D  J   L___Lib_USB_USBCtrlEPAllowDataStage130
4155
0x9D0009A0      0xA4430000  SH  R3, 0(R2)
4156
L___Lib_USB_USBCtrlEPAllowDataStage129:
4157
;__Lib_USB.c, 3890 ::
4158
0x9D0009A4      0x9423ACC6  LHU R3, Offset(__Lib_USB_inPipes+6)(GP)
4159
0x9D0009A8      0x9422ACBE  LHU R2, Offset(__Lib_USB_SetupPkt+6)(GP)
4160
0x9D0009AC      0x0043102B  SLTU        R2, R2, R3
4161
0x9D0009B0      0x10400003  BEQ R2, R0, L___Lib_USB_USBCtrlEPAllowDataStage131
4162
0x9D0009B4      0x70000000  NOP
4163
L___Lib_USB_USBCtrlEPAllowDataStage457:
4164
;__Lib_USB.c, 3892 ::
4165
0x9D0009B8      0x9422ACBE  LHU R2, Offset(__Lib_USB_SetupPkt+6)(GP)
4166
0x9D0009BC      0xA422ACC6  SH  R2, Offset(__Lib_USB_inPipes+6)(GP)
4167
;__Lib_USB.c, 3893 ::
4168
L___Lib_USB_USBCtrlEPAllowDataStage131:
4169
;__Lib_USB.c, 3894 ::
4170
0x9D0009C0      0x0F400034  JAL __Lib_USB_USB_CtrlTrf_Tx_Service+0
4171
0x9D0009C4      0x70000000  NOP
4172
;__Lib_USB.c, 3899 ::
4173
0x9D0009C8      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4174
0x9D0009CC      0x24440004  ADDIU       R4, R2, 4
4175
0x9D0009D0      0x3C03A000  LUI R3, hi_addr(__Lib_USB_CtrlTrfData+0)
4176
0x9D0009D4      0x34632CE0  ORI R3, R3, lo_addr(__Lib_USB_CtrlTrfData+0)
4177
0x9D0009D8      0x3C021FFF  LUI R2, 8191
4178
0x9D0009DC      0x3442FFFF  ORI R2, R2, 65535
4179
0x9D0009E0      0x00621024  AND R2, R3, R2
4180
0x9D0009E4      0xAC820000  SW  R2, 0(R4)
4181
;__Lib_USB.c, 3900 ::
4182
0x9D0009E8      0x340300C8  ORI R3, R0, 200
4183
0x9D0009EC      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4184
0x9D0009F0      0xA4430000  SH  R3, 0(R2)
4185
;__Lib_USB.c, 3901 ::
4186
L___Lib_USB_USBCtrlEPAllowDataStage130:
4187
;__Lib_USB.c, 3902 ::
4188
L_end_USBCtrlEPAllowDataStage:
4189
0x9D0009F4      0x8FBF0000  LW  RA, 0(SP)
4190
0x9D0009F8      0x03E00008  JR  RA
4191
0x9D0009FC      0x27BD0004  ADDIU       SP, SP, 4
4192
; end of __Lib_USB_USBCtrlEPAllowDataStage
4193
__Lib_USB_USB_CtrlTrf_Tx_Service:
4194
;__Lib_USB.c, 4207 ::
4195
0x9D0000D0      0x27BDFFFC  ADDIU       SP, SP, -4
4196
;__Lib_USB.c, 4212 ::
4197
; byteToSend start address is: 20 (R5)
4198
0x9D0000D4      0x34050008  ORI R5, R0, 8
4199
;__Lib_USB.c, 4213 ::
4200
0x9D0000D8      0x9422ACC6  LHU R2, Offset(__Lib_USB_inPipes+6)(GP)
4201
0x9D0000DC      0x2C420008  SLTIU       R2, R2, 8
4202
0x9D0000E0      0x10400010  BEQ R2, R0, L___Lib_USB_USB_CtrlTrf_Tx_Service280
4203
0x9D0000E4      0x70000000  NOP
4204
L___Lib_USB_USB_CtrlTrf_Tx_Service491:
4205
;__Lib_USB.c, 4215 ::
4206
0x9D0000E8      0x9425ACC6  LHU R5, Offset(__Lib_USB_inPipes+6)(GP)
4207
;__Lib_USB.c, 4222 ::
4208
0x9D0000EC      0x9022ACC9  LBU R2, Offset(__Lib_USB_shortPacketStatus+0)(GP)
4209
0x9D0000F0      0x14400004  BNE R2, R0, L___Lib_USB_USB_CtrlTrf_Tx_Service163
4210
0x9D0000F4      0x70000000  NOP
4211
L___Lib_USB_USB_CtrlTrf_Tx_Service492:
4212
;__Lib_USB.c, 4224 ::
4213
0x9D0000F8      0x34020001  ORI R2, R0, 1
4214
;__Lib_USB.c, 4225 ::
4215
0x9D0000FC      0x0B400047  J   L___Lib_USB_USB_CtrlTrf_Tx_Service164
4216
0x9D000100      0xA022ACC9  SB  R2, Offset(__Lib_USB_shortPacketStatus+0)(GP)
4217
L___Lib_USB_USB_CtrlTrf_Tx_Service163:
4218
;__Lib_USB.c, 4226 ::
4219
0x9D000104      0x9023ACC9  LBU R3, Offset(__Lib_USB_shortPacketStatus+0)(GP)
4220
0x9D000108      0x34020001  ORI R2, R0, 1
4221
0x9D00010C      0x14620003  BNE R3, R2, L___Lib_USB_USB_CtrlTrf_Tx_Service165
4222
0x9D000110      0x70000000  NOP
4223
L___Lib_USB_USB_CtrlTrf_Tx_Service493:
4224
;__Lib_USB.c, 4228 ::
4225
0x9D000114      0x34020002  ORI R2, R0, 2
4226
0x9D000118      0xA022ACC9  SB  R2, Offset(__Lib_USB_shortPacketStatus+0)(GP)
4227
;__Lib_USB.c, 4229 ::
4228
L___Lib_USB_USB_CtrlTrf_Tx_Service165:
4229
L___Lib_USB_USB_CtrlTrf_Tx_Service164:
4230
;__Lib_USB.c, 4230 ::
4231
0x9D00011C      0x0B400049  J   L___Lib_USB_USB_CtrlTrf_Tx_Service162
4232
0x9D000120      0x70000000  NOP
4233
; byteToSend end address is: 20 (R5)
4234
L___Lib_USB_USB_CtrlTrf_Tx_Service280:
4235
;__Lib_USB.c, 4213 ::
4236
;__Lib_USB.c, 4230 ::
4237
L___Lib_USB_USB_CtrlTrf_Tx_Service162:
4238
;__Lib_USB.c, 4234 ::
4239
; byteToSend start address is: 20 (R5)
4240
0x9D000124      0x30A300FF  ANDI        R3, R5, 255
4241
0x9D000128      0x9422ACC6  LHU R2, Offset(__Lib_USB_inPipes+6)(GP)
4242
0x9D00012C      0x00431023  SUBU        R2, R2, R3
4243
0x9D000130      0xA422ACC6  SH  R2, Offset(__Lib_USB_inPipes+6)(GP)
4244
;__Lib_USB.c, 4239 ::
4245
0x9D000134      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4246
0x9D000138      0x24440002  ADDIU       R4, R2, 2
4247
0x9D00013C      0x30A300FF  ANDI        R3, R5, 255
4248
0x9D000140      0x94820000  LHU R2, 0(R4)
4249
0x9D000144      0x7C624804  INS R2, R3, 0, 10
4250
0x9D000148      0xA4820000  SH  R2, 0(R4)
4251
;__Lib_USB.c, 4243 ::
4252
0x9D00014C      0x3C02A000  LUI R2, hi_addr(__Lib_USB_CtrlTrfData+0)
4253
0x9D000150      0x34422CE0  ORI R2, R2, lo_addr(__Lib_USB_CtrlTrfData+0)
4254
0x9D000154      0xAC228050  SW  R2, Offset(__Lib_USB_pDst+0)(GP)
4255
;__Lib_USB.c, 4244 ::
4256
0x9D000158      0x9022ACC4  LBU R2, Offset(__Lib_USB_inPipes+4)(GP)
4257
0x9D00015C      0x7C420000  EXT R2, R2, 0, 1
4258
0x9D000160      0x14400013  BNE R2, R0, L___Lib_USB_USB_CtrlTrf_Tx_Service166
4259
0x9D000164      0x70000000  NOP
4260
L___Lib_USB_USB_CtrlTrf_Tx_Service494:
4261
; byteToSend end address is: 20 (R5)
4262
0x9D000168      0x30A400FF  ANDI        R4, R5, 255
4263
;__Lib_USB.c, 4246 ::
4264
L___Lib_USB_USB_CtrlTrf_Tx_Service167:
4265
; byteToSend start address is: 16 (R4)
4266
0x9D00016C      0x1080000E  BEQ R4, R0, L___Lib_USB_USB_CtrlTrf_Tx_Service168
4267
0x9D000170      0x70000000  NOP
4268
L___Lib_USB_USB_CtrlTrf_Tx_Service496:
4269
;__Lib_USB.c, 4248 ::
4270
0x9D000174      0x8C22ACC0  LW  R2, Offset(__Lib_USB_inPipes+0)(GP)
4271
0x9D000178      0x90430000  LBU R3, 0(R2)
4272
0x9D00017C      0x8C228050  LW  R2, Offset(__Lib_USB_pDst+0)(GP)
4273
0x9D000180      0xA0430000  SB  R3, 0(R2)
4274
0x9D000184      0x8C228050  LW  R2, Offset(__Lib_USB_pDst+0)(GP)
4275
0x9D000188      0x24420001  ADDIU       R2, R2, 1
4276
0x9D00018C      0xAC228050  SW  R2, Offset(__Lib_USB_pDst+0)(GP)
4277
0x9D000190      0x8C22ACC0  LW  R2, Offset(__Lib_USB_inPipes+0)(GP)
4278
0x9D000194      0x24420001  ADDIU       R2, R2, 1
4279
0x9D000198      0xAC22ACC0  SW  R2, Offset(__Lib_USB_inPipes+0)(GP)
4280
;__Lib_USB.c, 4249 ::
4281
0x9D00019C      0x2482FFFF  ADDIU       R2, R4, -1
4282
;__Lib_USB.c, 4250 ::
4283
; byteToSend end address is: 16 (R4)
4284
0x9D0001A0      0x0B40005B  J   L___Lib_USB_USB_CtrlTrf_Tx_Service167
4285
0x9D0001A4      0x304400FF  ANDI        R4, R2, 255
4286
L___Lib_USB_USB_CtrlTrf_Tx_Service168:
4287
;__Lib_USB.c, 4251 ::
4288
0x9D0001A8      0x0B40007C  J   L___Lib_USB_USB_CtrlTrf_Tx_Service169
4289
0x9D0001AC      0x70000000  NOP
4290
L___Lib_USB_USB_CtrlTrf_Tx_Service166:
4291
;__Lib_USB.c, 4254 ::
4292
; byteToSend start address is: 20 (R5)
4293
0x9D0001B0      0x30A400FF  ANDI        R4, R5, 255
4294
L___Lib_USB_USB_CtrlTrf_Tx_Service170:
4295
; byteToSend end address is: 20 (R5)
4296
; byteToSend start address is: 16 (R4)
4297
0x9D0001B4      0x1080000E  BEQ R4, R0, L___Lib_USB_USB_CtrlTrf_Tx_Service171
4298
0x9D0001B8      0x70000000  NOP
4299
L___Lib_USB_USB_CtrlTrf_Tx_Service498:
4300
;__Lib_USB.c, 4256 ::
4301
0x9D0001BC      0x8C22ACC0  LW  R2, Offset(__Lib_USB_inPipes+0)(GP)
4302
0x9D0001C0      0x90430000  LBU R3, 0(R2)
4303
0x9D0001C4      0x8C228050  LW  R2, Offset(__Lib_USB_pDst+0)(GP)
4304
0x9D0001C8      0xA0430000  SB  R3, 0(R2)
4305
0x9D0001CC      0x8C228050  LW  R2, Offset(__Lib_USB_pDst+0)(GP)
4306
0x9D0001D0      0x24420001  ADDIU       R2, R2, 1
4307
0x9D0001D4      0xAC228050  SW  R2, Offset(__Lib_USB_pDst+0)(GP)
4308
0x9D0001D8      0x8C22ACC0  LW  R2, Offset(__Lib_USB_inPipes+0)(GP)
4309
0x9D0001DC      0x24420001  ADDIU       R2, R2, 1
4310
0x9D0001E0      0xAC22ACC0  SW  R2, Offset(__Lib_USB_inPipes+0)(GP)
4311
;__Lib_USB.c, 4257 ::
4312
0x9D0001E4      0x2482FFFF  ADDIU       R2, R4, -1
4313
;__Lib_USB.c, 4258 ::
4314
; byteToSend end address is: 16 (R4)
4315
0x9D0001E8      0x0B40006D  J   L___Lib_USB_USB_CtrlTrf_Tx_Service170
4316
0x9D0001EC      0x304400FF  ANDI        R4, R2, 255
4317
L___Lib_USB_USB_CtrlTrf_Tx_Service171:
4318
;__Lib_USB.c, 4259 ::
4319
L___Lib_USB_USB_CtrlTrf_Tx_Service169:
4320
;__Lib_USB.c, 4260 ::
4321
L_end_USB_CtrlTrf_Tx_Service:
4322
0x9D0001F0      0x03E00008  JR  RA
4323
0x9D0001F4      0x27BD0004  ADDIU       SP, SP, 4
4324
; end of __Lib_USB_USB_CtrlTrf_Tx_Service
4325
__Lib_USB_USBCtrlEPAllowStatusStage:
4326
;__Lib_USB.c, 3803 ::
4327
0x9D000A00      0x27BDFFFC  ADDIU       SP, SP, -4
4328
;__Lib_USB.c, 3810 ::
4329
0x9D000A04      0x9022ABE8  LBU R2, Offset(_USBStatusStageEnabledFlag1+0)(GP)
4330
0x9D000A08      0x1440003E  BNE R2, R0, L___Lib_USB_USBCtrlEPAllowStatusStage124
4331
0x9D000A0C      0x70000000  NOP
4332
L___Lib_USB_USBCtrlEPAllowStatusStage451:
4333
;__Lib_USB.c, 3812 ::
4334
0x9D000A10      0x34020001  ORI R2, R0, 1
4335
0x9D000A14      0xA022ABE8  SB  R2, Offset(_USBStatusStageEnabledFlag1+0)(GP)
4336
;__Lib_USB.c, 3813 ::
4337
0x9D000A18      0x90229F99  LBU R2, Offset(_USBStatusStageEnabledFlag2+0)(GP)
4338
0x9D000A1C      0x14400039  BNE R2, R0, L___Lib_USB_USBCtrlEPAllowStatusStage125
4339
0x9D000A20      0x70000000  NOP
4340
L___Lib_USB_USBCtrlEPAllowStatusStage452:
4341
;__Lib_USB.c, 3815 ::
4342
0x9D000A24      0x34020001  ORI R2, R0, 1
4343
0x9D000A28      0xA0229F99  SB  R2, Offset(_USBStatusStageEnabledFlag2+0)(GP)
4344
;__Lib_USB.c, 3819 ::
4345
0x9D000A2C      0x9023ACCA  LBU R3, Offset(__Lib_USB_controlTransferState+0)(GP)
4346
0x9D000A30      0x34020002  ORI R2, R0, 2
4347
0x9D000A34      0x1462000A  BNE R3, R2, L___Lib_USB_USBCtrlEPAllowStatusStage126
4348
0x9D000A38      0x70000000  NOP
4349
L___Lib_USB_USBCtrlEPAllowStatusStage453:
4350
;__Lib_USB.c, 3821 ::
4351
0x9D000A3C      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4352
0x9D000A40      0x24430002  ADDIU       R3, R2, 2
4353
0x9D000A44      0x94620000  LHU R2, 0(R3)
4354
0x9D000A48      0x7C024804  INS R2, R0, 0, 10
4355
0x9D000A4C      0xA4620000  SH  R2, 0(R3)
4356
;__Lib_USB.c, 3822 ::
4357
0x9D000A50      0x340300C8  ORI R3, R0, 200
4358
0x9D000A54      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4359
;__Lib_USB.c, 3823 ::
4360
0x9D000A58      0x0B4002C1  J   L___Lib_USB_USBCtrlEPAllowStatusStage127
4361
0x9D000A5C      0xA4430000  SH  R3, 0(R2)
4362
L___Lib_USB_USBCtrlEPAllowStatusStage126:
4363
;__Lib_USB.c, 3824 ::
4364
0x9D000A60      0x9023ACCA  LBU R3, Offset(__Lib_USB_controlTransferState+0)(GP)
4365
0x9D000A64      0x34020001  ORI R2, R0, 1
4366
0x9D000A68      0x14620026  BNE R3, R2, L___Lib_USB_USBCtrlEPAllowStatusStage128
4367
0x9D000A6C      0x70000000  NOP
4368
L___Lib_USB_USBCtrlEPAllowStatusStage454:
4369
;__Lib_USB.c, 3826 ::
4370
0x9D000A70      0xA0209F98  SB  R0, Offset(__Lib_USB_BothEP0OutUOWNsSet+0)(GP)
4371
;__Lib_USB.c, 3831 ::
4372
0x9D000A74      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
4373
0x9D000A78      0x24440002  ADDIU       R4, R2, 2
4374
0x9D000A7C      0x34030008  ORI R3, R0, 8
4375
0x9D000A80      0x94820000  LHU R2, 0(R4)
4376
0x9D000A84      0x7C624804  INS R2, R3, 0, 10
4377
0x9D000A88      0xA4820000  SH  R2, 0(R4)
4378
;__Lib_USB.c, 3832 ::
4379
0x9D000A8C      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
4380
0x9D000A90      0x24440004  ADDIU       R4, R2, 4
4381
0x9D000A94      0x3C03A000  LUI R3, hi_addr(__Lib_USB_SetupPkt+0)
4382
0x9D000A98      0x34632CB8  ORI R3, R3, lo_addr(__Lib_USB_SetupPkt+0)
4383
0x9D000A9C      0x3C021FFF  LUI R2, 8191
4384
0x9D000AA0      0x3442FFFF  ORI R2, R2, 65535
4385
0x9D000AA4      0x00621024  AND R2, R3, R2
4386
0x9D000AA8      0xAC820000  SW  R2, 0(R4)
4387
;__Lib_USB.c, 3833 ::
4388
0x9D000AAC      0x34030084  ORI R3, R0, 132
4389
0x9D000AB0      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
4390
0x9D000AB4      0xA4430000  SH  R3, 0(R2)
4391
;__Lib_USB.c, 3834 ::
4392
0x9D000AB8      0x34020001  ORI R2, R0, 1
4393
0x9D000ABC      0xA0229F98  SB  R2, Offset(__Lib_USB_BothEP0OutUOWNsSet+0)(GP)
4394
;__Lib_USB.c, 3838 ::
4395
0x9D000AC0      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4396
0x9D000AC4      0x24440002  ADDIU       R4, R2, 2
4397
0x9D000AC8      0x34030008  ORI R3, R0, 8
4398
0x9D000ACC      0x94820000  LHU R2, 0(R4)
4399
0x9D000AD0      0x7C624804  INS R2, R3, 0, 10
4400
0x9D000AD4      0xA4820000  SH  R2, 0(R4)
4401
;__Lib_USB.c, 3839 ::
4402
0x9D000AD8      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4403
0x9D000ADC      0x24440004  ADDIU       R4, R2, 4
4404
0x9D000AE0      0x3C03A000  LUI R3, hi_addr(__Lib_USB_SetupPkt+0)
4405
0x9D000AE4      0x34632CB8  ORI R3, R3, lo_addr(__Lib_USB_SetupPkt+0)
4406
0x9D000AE8      0x3C021FFF  LUI R2, 8191
4407
0x9D000AEC      0x3442FFFF  ORI R2, R2, 65535
4408
0x9D000AF0      0x00621024  AND R2, R3, R2
4409
0x9D000AF4      0xAC820000  SW  R2, 0(R4)
4410
;__Lib_USB.c, 3840 ::
4411
0x9D000AF8      0x34030080  ORI R3, R0, 128
4412
0x9D000AFC      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4413
0x9D000B00      0xA4430000  SH  R3, 0(R2)
4414
;__Lib_USB.c, 3841 ::
4415
L___Lib_USB_USBCtrlEPAllowStatusStage128:
4416
L___Lib_USB_USBCtrlEPAllowStatusStage127:
4417
;__Lib_USB.c, 3842 ::
4418
L___Lib_USB_USBCtrlEPAllowStatusStage125:
4419
;__Lib_USB.c, 3843 ::
4420
L___Lib_USB_USBCtrlEPAllowStatusStage124:
4421
;__Lib_USB.c, 3844 ::
4422
L_end_USBCtrlEPAllowStatusStage:
4423
0x9D000B04      0x03E00008  JR  RA
4424
0x9D000B08      0x27BD0004  ADDIU       SP, SP, 4
4425
; end of __Lib_USB_USBCtrlEPAllowStatusStage
4426
__Lib_USB_USB_CtrlTrf_Out_Handler:
4427
;__Lib_USB.c, 3414 ::
4428
0x9D001618      0x27BDFFFC  ADDIU       SP, SP, -4
4429
0x9D00161C      0xAFBF0000  SW  RA, 0(SP)
4430
;__Lib_USB.c, 3415 ::
4431
0x9D001620      0x9023ACCA  LBU R3, Offset(__Lib_USB_controlTransferState+0)(GP)
4432
0x9D001624      0x34020002  ORI R2, R0, 2
4433
0x9D001628      0x14620005  BNE R3, R2, L___Lib_USB_USB_CtrlTrf_Out_Handler65
4434
0x9D00162C      0x70000000  NOP
4435
L___Lib_USB_USB_CtrlTrf_Out_Handler388:
4436
;__Lib_USB.c, 3417 ::
4437
0x9D001630      0x0F4003C4  JAL __Lib_USB_USB_CtrlTrf_Rx_Service+0
4438
0x9D001634      0x70000000  NOP
4439
;__Lib_USB.c, 3418 ::
4440
0x9D001638      0x0B4005A7  J   L___Lib_USB_USB_CtrlTrf_Out_Handler66
4441
0x9D00163C      0x70000000  NOP
4442
L___Lib_USB_USB_CtrlTrf_Out_Handler65:
4443
;__Lib_USB.c, 3423 ::
4444
0x9D001640      0xA020ACCA  SB  R0, Offset(__Lib_USB_controlTransferState+0)(GP)
4445
;__Lib_USB.c, 3430 ::
4446
0x9D001644      0x90229F98  LBU R2, Offset(__Lib_USB_BothEP0OutUOWNsSet+0)(GP)
4447
0x9D001648      0x14400013  BNE R2, R0, L___Lib_USB_USB_CtrlTrf_Out_Handler67
4448
0x9D00164C      0x70000000  NOP
4449
L___Lib_USB_USB_CtrlTrf_Out_Handler389:
4450
;__Lib_USB.c, 3432 ::
4451
0x9D001650      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4452
0x9D001654      0x24440002  ADDIU       R4, R2, 2
4453
0x9D001658      0x34030008  ORI R3, R0, 8
4454
0x9D00165C      0x94820000  LHU R2, 0(R4)
4455
0x9D001660      0x7C624804  INS R2, R3, 0, 10
4456
0x9D001664      0xA4820000  SH  R2, 0(R4)
4457
;__Lib_USB.c, 3433 ::
4458
0x9D001668      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4459
0x9D00166C      0x24440004  ADDIU       R4, R2, 4
4460
0x9D001670      0x3C03A000  LUI R3, hi_addr(__Lib_USB_SetupPkt+0)
4461
0x9D001674      0x34632CB8  ORI R3, R3, lo_addr(__Lib_USB_SetupPkt+0)
4462
0x9D001678      0x3C021FFF  LUI R2, 8191
4463
0x9D00167C      0x3442FFFF  ORI R2, R2, 65535
4464
0x9D001680      0x00621024  AND R2, R3, R2
4465
0x9D001684      0xAC820000  SW  R2, 0(R4)
4466
;__Lib_USB.c, 3434 ::
4467
0x9D001688      0x3403008C  ORI R3, R0, 140
4468
0x9D00168C      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4469
;__Lib_USB.c, 3435 ::
4470
0x9D001690      0x0B4005A7  J   L___Lib_USB_USB_CtrlTrf_Out_Handler68
4471
0x9D001694      0xA4430000  SH  R3, 0(R2)
4472
L___Lib_USB_USB_CtrlTrf_Out_Handler67:
4473
;__Lib_USB.c, 3438 ::
4474
0x9D001698      0xA0209F98  SB  R0, Offset(__Lib_USB_BothEP0OutUOWNsSet+0)(GP)
4475
;__Lib_USB.c, 3439 ::
4476
L___Lib_USB_USB_CtrlTrf_Out_Handler68:
4477
;__Lib_USB.c, 3440 ::
4478
L___Lib_USB_USB_CtrlTrf_Out_Handler66:
4479
;__Lib_USB.c, 3441 ::
4480
L_end_USB_CtrlTrf_Out_Handler:
4481
0x9D00169C      0x8FBF0000  LW  RA, 0(SP)
4482
0x9D0016A0      0x03E00008  JR  RA
4483
0x9D0016A4      0x27BD0004  ADDIU       SP, SP, 4
4484
; end of __Lib_USB_USB_CtrlTrf_Out_Handler
4485
__Lib_USB_USB_CtrlTrf_Rx_Service:
4486
;__Lib_USB.c, 4287 ::
4487
0x9D000F10      0x27BDFFFC  ADDIU       SP, SP, -4
4488
0x9D000F14      0xAFBF0000  SW  RA, 0(SP)
4489
;__Lib_USB.c, 4293 ::
4490
0x9D000F18      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
4491
0x9D000F1C      0x24420002  ADDIU       R2, R2, 2
4492
0x9D000F20      0x94420000  LHU R2, 0(R2)
4493
0x9D000F24      0x7C424800  EXT R2, R2, 0, 10
4494
; byteToRead start address is: 16 (R4)
4495
0x9D000F28      0x3044FFFF  ANDI        R4, R2, 65535
4496
;__Lib_USB.c, 4299 ::
4497
0x9D000F2C      0x308300FF  ANDI        R3, R4, 255
4498
0x9D000F30      0x9422ACDA  LHU R2, Offset(__Lib_USB_outPipes+6)(GP)
4499
0x9D000F34      0x0043102B  SLTU        R2, R2, R3
4500
0x9D000F38      0x10400003  BEQ R2, R0, L___Lib_USB_USB_CtrlTrf_Rx_Service281
4501
0x9D000F3C      0x70000000  NOP
4502
L___Lib_USB_USB_CtrlTrf_Rx_Service500:
4503
; byteToRead end address is: 16 (R4)
4504
;__Lib_USB.c, 4301 ::
4505
; byteToRead start address is: 20 (R5)
4506
; byteToRead end address is: 20 (R5)
4507
;__Lib_USB.c, 4302 ::
4508
0x9D000F40      0x0B4003D3  J   L___Lib_USB_USB_CtrlTrf_Rx_Service172
4509
0x9D000F44      0x9425ACDA  LHU R5, Offset(__Lib_USB_outPipes+6)(GP)
4510
L___Lib_USB_USB_CtrlTrf_Rx_Service281:
4511
;__Lib_USB.c, 4299 ::
4512
0x9D000F48      0x308500FF  ANDI        R5, R4, 255
4513
;__Lib_USB.c, 4302 ::
4514
L___Lib_USB_USB_CtrlTrf_Rx_Service172:
4515
;__Lib_USB.c, 4304 ::
4516
; byteToRead start address is: 20 (R5)
4517
0x9D000F4C      0x30A300FF  ANDI        R3, R5, 255
4518
0x9D000F50      0x9422ACDA  LHU R2, Offset(__Lib_USB_outPipes+6)(GP)
4519
0x9D000F54      0x00431023  SUBU        R2, R2, R3
4520
0x9D000F58      0xA422ACDA  SH  R2, Offset(__Lib_USB_outPipes+6)(GP)
4521
;__Lib_USB.c, 4308 ::
4522
; i start address is: 16 (R4)
4523
0x9D000F5C      0x0000200A  MOVZ        R4, R0, R0
4524
; byteToRead end address is: 20 (R5)
4525
; i end address is: 16 (R4)
4526
L___Lib_USB_USB_CtrlTrf_Rx_Service173:
4527
; i start address is: 16 (R4)
4528
; byteToRead start address is: 20 (R5)
4529
0x9D000F60      0x308300FF  ANDI        R3, R4, 255
4530
0x9D000F64      0x30A200FF  ANDI        R2, R5, 255
4531
0x9D000F68      0x0062102B  SLTU        R2, R3, R2
4532
0x9D000F6C      0x1040000E  BEQ R2, R0, L___Lib_USB_USB_CtrlTrf_Rx_Service174
4533
0x9D000F70      0x70000000  NOP
4534
L___Lib_USB_USB_CtrlTrf_Rx_Service501:
4535
;__Lib_USB.c, 4310 ::
4536
0x9D000F74      0x308300FF  ANDI        R3, R4, 255
4537
0x9D000F78      0x3C02A000  LUI R2, hi_addr(__Lib_USB_CtrlTrfData+0)
4538
0x9D000F7C      0x34422CE0  ORI R2, R2, lo_addr(__Lib_USB_CtrlTrfData+0)
4539
0x9D000F80      0x00431021  ADDU        R2, R2, R3
4540
0x9D000F84      0x90430000  LBU R3, 0(R2)
4541
0x9D000F88      0x8C22ACD4  LW  R2, Offset(__Lib_USB_outPipes+0)(GP)
4542
0x9D000F8C      0xA0430000  SB  R3, 0(R2)
4543
0x9D000F90      0x8C22ACD4  LW  R2, Offset(__Lib_USB_outPipes+0)(GP)
4544
0x9D000F94      0x24420001  ADDIU       R2, R2, 1
4545
0x9D000F98      0xAC22ACD4  SW  R2, Offset(__Lib_USB_outPipes+0)(GP)
4546
;__Lib_USB.c, 4308 ::
4547
0x9D000F9C      0x24820001  ADDIU       R2, R4, 1
4548
;__Lib_USB.c, 4311 ::
4549
; byteToRead end address is: 20 (R5)
4550
; i end address is: 16 (R4)
4551
0x9D000FA0      0x0B4003D8  J   L___Lib_USB_USB_CtrlTrf_Rx_Service173
4552
0x9D000FA4      0x304400FF  ANDI        R4, R2, 255
4553
L___Lib_USB_USB_CtrlTrf_Rx_Service174:
4554
;__Lib_USB.c, 4315 ::
4555
0x9D000FA8      0x9422ACDA  LHU R2, Offset(__Lib_USB_outPipes+6)(GP)
4556
0x9D000FAC      0x2C420001  SLTIU       R2, R2, 1
4557
0x9D000FB0      0x1440001D  BNE R2, R0, L___Lib_USB_USB_CtrlTrf_Rx_Service176
4558
0x9D000FB4      0x70000000  NOP
4559
L___Lib_USB_USB_CtrlTrf_Rx_Service502:
4560
;__Lib_USB.c, 4317 ::
4561
0x9D000FB8      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4562
0x9D000FBC      0x24440002  ADDIU       R4, R2, 2
4563
0x9D000FC0      0x34030008  ORI R3, R0, 8
4564
0x9D000FC4      0x94820000  LHU R2, 0(R4)
4565
0x9D000FC8      0x7C624804  INS R2, R3, 0, 10
4566
0x9D000FCC      0xA4820000  SH  R2, 0(R4)
4567
;__Lib_USB.c, 4318 ::
4568
0x9D000FD0      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4569
0x9D000FD4      0x24440004  ADDIU       R4, R2, 4
4570
0x9D000FD8      0x3C03A000  LUI R3, hi_addr(__Lib_USB_CtrlTrfData+0)
4571
0x9D000FDC      0x34632CE0  ORI R3, R3, lo_addr(__Lib_USB_CtrlTrfData+0)
4572
0x9D000FE0      0x3C021FFF  LUI R2, 8191
4573
0x9D000FE4      0x3442FFFF  ORI R2, R2, 65535
4574
0x9D000FE8      0x00621024  AND R2, R3, R2
4575
0x9D000FEC      0xAC820000  SW  R2, 0(R4)
4576
;__Lib_USB.c, 4319 ::
4577
0x9D000FF0      0x8C22ABF0  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_CurrentPtr+0)(GP)
4578
0x9D000FF4      0x90420000  LBU R2, 0(R2)
4579
0x9D000FF8      0x7C420180  EXT R2, R2, 6, 1
4580
0x9D000FFC      0x14400005  BNE R2, R0, L___Lib_USB_USB_CtrlTrf_Rx_Service177
4581
0x9D001000      0x70000000  NOP
4582
L___Lib_USB_USB_CtrlTrf_Rx_Service503:
4583
;__Lib_USB.c, 4321 ::
4584
0x9D001004      0x340300C8  ORI R3, R0, 200
4585
0x9D001008      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4586
;__Lib_USB.c, 4322 ::
4587
0x9D00100C      0x0B400408  J   L___Lib_USB_USB_CtrlTrf_Rx_Service178
4588
0x9D001010      0xA4430000  SH  R3, 0(R2)
4589
L___Lib_USB_USB_CtrlTrf_Rx_Service177:
4590
;__Lib_USB.c, 4325 ::
4591
0x9D001014      0x34030088  ORI R3, R0, 136
4592
0x9D001018      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4593
0x9D00101C      0xA4430000  SH  R3, 0(R2)
4594
;__Lib_USB.c, 4326 ::
4595
L___Lib_USB_USB_CtrlTrf_Rx_Service178:
4596
;__Lib_USB.c, 4327 ::
4597
0x9D001020      0x0B400429  J   L___Lib_USB_USB_CtrlTrf_Rx_Service179
4598
0x9D001024      0x70000000  NOP
4599
L___Lib_USB_USB_CtrlTrf_Rx_Service176:
4600
;__Lib_USB.c, 4333 ::
4601
0x9D001028      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4602
0x9D00102C      0x24440002  ADDIU       R4, R2, 2
4603
0x9D001030      0x34030008  ORI R3, R0, 8
4604
0x9D001034      0x94820000  LHU R2, 0(R4)
4605
0x9D001038      0x7C624804  INS R2, R3, 0, 10
4606
0x9D00103C      0xA4820000  SH  R2, 0(R4)
4607
;__Lib_USB.c, 4334 ::
4608
0x9D001040      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4609
0x9D001044      0x24440004  ADDIU       R4, R2, 4
4610
0x9D001048      0x3C03A000  LUI R3, hi_addr(__Lib_USB_SetupPkt+0)
4611
0x9D00104C      0x34632CB8  ORI R3, R3, lo_addr(__Lib_USB_SetupPkt+0)
4612
0x9D001050      0x3C021FFF  LUI R2, 8191
4613
0x9D001054      0x3442FFFF  ORI R2, R2, 65535
4614
0x9D001058      0x00621024  AND R2, R3, R2
4615
0x9D00105C      0xAC820000  SW  R2, 0(R4)
4616
;__Lib_USB.c, 4338 ::
4617
0x9D001060      0x34030084  ORI R3, R0, 132
4618
0x9D001064      0x8C229F9C  LW  R2, Offset(__Lib_USB_BDTEntry_EP0Out_NextPtr+0)(GP)
4619
0x9D001068      0xA4430000  SH  R3, 0(R2)
4620
;__Lib_USB.c, 4345 ::
4621
0x9D00106C      0x8C22ACDC  LW  R2, Offset(__Lib_USB_outPipes+8)(GP)
4622
0x9D001070      0x10400004  BEQ R2, R0, L___Lib_USB_USB_CtrlTrf_Rx_Service180
4623
0x9D001074      0x70000000  NOP
4624
L___Lib_USB_USB_CtrlTrf_Rx_Service505:
4625
;__Lib_USB.c, 4347 ::
4626
0x9D001078      0x8C3EACDC  LW  R30, Offset(__Lib_USB_outPipes+8)(GP)
4627
0x9D00107C      0x03C0F809  JALR        RA, R30
4628
0x9D001080      0x70000000  NOP
4629
;__Lib_USB.c, 4348 ::
4630
L___Lib_USB_USB_CtrlTrf_Rx_Service180:
4631
;__Lib_USB.c, 4349 ::
4632
0x9D001084      0x9022ACD8  LBU R2, Offset(__Lib_USB_outPipes+4)(GP)
4633
0x9D001088      0x7C0239C4  INS R2, R0, 7, 1
4634
0x9D00108C      0xA022ACD8  SB  R2, Offset(__Lib_USB_outPipes+4)(GP)
4635
;__Lib_USB.c, 4363 ::
4636
0x9D001090      0x90228056  LBU R2, Offset(_USBDeferStatusStagePacket+0)(GP)
4637
0x9D001094      0x14400003  BNE R2, R0, L___Lib_USB_USB_CtrlTrf_Rx_Service181
4638
0x9D001098      0x70000000  NOP
4639
L___Lib_USB_USB_CtrlTrf_Rx_Service506:
4640
;__Lib_USB.c, 4365 ::
4641
0x9D00109C      0x0F400280  JAL __Lib_USB_USBCtrlEPAllowStatusStage+0
4642
0x9D0010A0      0x70000000  NOP
4643
;__Lib_USB.c, 4366 ::
4644
L___Lib_USB_USB_CtrlTrf_Rx_Service181:
4645
;__Lib_USB.c, 4367 ::
4646
L___Lib_USB_USB_CtrlTrf_Rx_Service179:
4647
;__Lib_USB.c, 4369 ::
4648
L_end_USB_CtrlTrf_Rx_Service:
4649
0x9D0010A4      0x8FBF0000  LW  RA, 0(SP)
4650
0x9D0010A8      0x03E00008  JR  RA
4651
0x9D0010AC      0x27BD0004  ADDIU       SP, SP, 4
4652
; end of __Lib_USB_USB_CtrlTrf_Rx_Service
4653
__Lib_USB_USB_CtrlTrf_In_Handler:
4654
;__Lib_USB.c, 3466 ::
4655
0x9D0014F0      0x27BDFFFC  ADDIU       SP, SP, -4
4656
0x9D0014F4      0xAFBF0000  SW  RA, 0(SP)
4657
;__Lib_USB.c, 3468 ::
4658
0x9D0014F8      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4659
0x9D0014FC      0x90420000  LBU R2, 0(R2)
4660
; lastDTS start address is: 24 (R6)
4661
0x9D001500      0x7C460180  EXT R6, R2, 6, 1
4662
;__Lib_USB.c, 3472 ::
4663
0x9D001504      0x9022AC9C  LBU R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4664
0x9D001508      0x38420008  XORI        R2, R2, 8
4665
0x9D00150C      0xA022AC9C  SB  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4666
;__Lib_USB.c, 3475 ::
4667
0x9D001510      0x9023ABF5  LBU R3, Offset(__Lib_USB_USBDeviceState+0)(GP)
4668
0x9D001514      0x34020008  ORI R2, R0, 8
4669
0x9D001518      0x1462000D  BNE R3, R2, L___Lib_USB_USB_CtrlTrf_In_Handler69
4670
0x9D00151C      0x70000000  NOP
4671
L___Lib_USB_USB_CtrlTrf_In_Handler391:
4672
;__Lib_USB.c, 3476 ::
4673
0x9D001520      0x9022ACBA  LBU R2, Offset(__Lib_USB_SetupPkt+2)(GP)
4674
0x9D001524      0x3C1EBF88  LUI R30, 49032
4675
0x9D001528      0xAFC25260  SW  R2, 21088(R30)
4676
;__Lib_USB.c, 3477 ::
4677
0x9D00152C      0x3C1EBF88  LUI R30, 49032
4678
0x9D001530      0x8FC25260  LW  R2, 21088(R30)
4679
0x9D001534      0x10400004  BEQ R2, R0, L___Lib_USB_USB_CtrlTrf_In_Handler70
4680
0x9D001538      0x70000000  NOP
4681
L___Lib_USB_USB_CtrlTrf_In_Handler393:
4682
;__Lib_USB.c, 3478 ::
4683
0x9D00153C      0x34020010  ORI R2, R0, 16
4684
;__Lib_USB.c, 3479 ::
4685
0x9D001540      0x0B400554  J   L___Lib_USB_USB_CtrlTrf_In_Handler71
4686
0x9D001544      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
4687
L___Lib_USB_USB_CtrlTrf_In_Handler70:
4688
;__Lib_USB.c, 3480 ::
4689
0x9D001548      0x34020004  ORI R2, R0, 4
4690
0x9D00154C      0xA022ABF5  SB  R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
4691
;__Lib_USB.c, 3481 ::
4692
L___Lib_USB_USB_CtrlTrf_In_Handler71:
4693
;__Lib_USB.c, 3482 ::
4694
L___Lib_USB_USB_CtrlTrf_In_Handler69:
4695
;__Lib_USB.c, 3485 ::
4696
0x9D001550      0x9023ACCA  LBU R3, Offset(__Lib_USB_controlTransferState+0)(GP)
4697
0x9D001554      0x34020001  ORI R2, R0, 1
4698
0x9D001558      0x1462001E  BNE R3, R2, L___Lib_USB_USB_CtrlTrf_In_Handler72
4699
0x9D00155C      0x70000000  NOP
4700
L___Lib_USB_USB_CtrlTrf_In_Handler394:
4701
;__Lib_USB.c, 3486 ::
4702
0x9D001560      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4703
0x9D001564      0x24440004  ADDIU       R4, R2, 4
4704
0x9D001568      0x3C03A000  LUI R3, hi_addr(__Lib_USB_CtrlTrfData+0)
4705
0x9D00156C      0x34632CE0  ORI R3, R3, lo_addr(__Lib_USB_CtrlTrfData+0)
4706
0x9D001570      0x3C021FFF  LUI R2, 8191
4707
0x9D001574      0x3442FFFF  ORI R2, R2, 65535
4708
0x9D001578      0x00621024  AND R2, R3, R2
4709
;__Lib_USB.c, 3487 ::
4710
0x9D00157C      0x0F400034  JAL __Lib_USB_USB_CtrlTrf_Tx_Service+0
4711
0x9D001580      0xAC820000  SW  R2, 0(R4)
4712
;__Lib_USB.c, 3493 ::
4713
0x9D001584      0x9023ACC9  LBU R3, Offset(__Lib_USB_shortPacketStatus+0)(GP)
4714
0x9D001588      0x34020002  ORI R2, R0, 2
4715
0x9D00158C      0x14620005  BNE R3, R2, L___Lib_USB_USB_CtrlTrf_In_Handler73
4716
0x9D001590      0x70000000  NOP
4717
L___Lib_USB_USB_CtrlTrf_In_Handler395:
4718
; lastDTS end address is: 24 (R6)
4719
;__Lib_USB.c, 3496 ::
4720
0x9D001594      0x34030084  ORI R3, R0, 132
4721
0x9D001598      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4722
;__Lib_USB.c, 3497 ::
4723
0x9D00159C      0x0B400573  J   L___Lib_USB_USB_CtrlTrf_In_Handler74
4724
0x9D0015A0      0xA4430000  SH  R3, 0(R2)
4725
L___Lib_USB_USB_CtrlTrf_In_Handler73:
4726
;__Lib_USB.c, 3498 ::
4727
; lastDTS start address is: 24 (R6)
4728
0x9D0015A4      0x30C200FF  ANDI        R2, R6, 255
4729
; lastDTS end address is: 24 (R6)
4730
0x9D0015A8      0x14400005  BNE R2, R0, L___Lib_USB_USB_CtrlTrf_In_Handler75
4731
0x9D0015AC      0x70000000  NOP
4732
L___Lib_USB_USB_CtrlTrf_In_Handler396:
4733
;__Lib_USB.c, 3499 ::
4734
0x9D0015B0      0x340300C8  ORI R3, R0, 200
4735
0x9D0015B4      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4736
;__Lib_USB.c, 3500 ::
4737
0x9D0015B8      0x0B400573  J   L___Lib_USB_USB_CtrlTrf_In_Handler76
4738
0x9D0015BC      0xA4430000  SH  R3, 0(R2)
4739
L___Lib_USB_USB_CtrlTrf_In_Handler75:
4740
;__Lib_USB.c, 3501 ::
4741
0x9D0015C0      0x34030088  ORI R3, R0, 136
4742
0x9D0015C4      0x8C22AC9C  LW  R2, Offset(__Lib_USB_BDTEntry_InPtr+0)(GP)
4743
0x9D0015C8      0xA4430000  SH  R3, 0(R2)
4744
;__Lib_USB.c, 3502 ::
4745
L___Lib_USB_USB_CtrlTrf_In_Handler76:
4746
;__Lib_USB.c, 3503 ::
4747
L___Lib_USB_USB_CtrlTrf_In_Handler74:
4748
;__Lib_USB.c, 3504 ::
4749
0x9D0015CC      0x0B400583  J   L___Lib_USB_USB_CtrlTrf_In_Handler77
4750
0x9D0015D0      0x70000000  NOP
4751
L___Lib_USB_USB_CtrlTrf_In_Handler72:
4752
;__Lib_USB.c, 3510 ::
4753
0x9D0015D4      0x9022ACD8  LBU R2, Offset(__Lib_USB_outPipes+4)(GP)
4754
0x9D0015D8      0x7C4201C0  EXT R2, R2, 7, 1
4755
0x9D0015DC      0x1040000A  BEQ R2, 1, L___Lib_USB_USB_CtrlTrf_In_Handler78
4756
0x9D0015E0      0x70000000  NOP
4757
L___Lib_USB_USB_CtrlTrf_In_Handler398:
4758
;__Lib_USB.c, 3512 ::
4759
0x9D0015E4      0x8C22ACDC  LW  R2, Offset(__Lib_USB_outPipes+8)(GP)
4760
0x9D0015E8      0x10400004  BEQ R2, R0, L___Lib_USB_USB_CtrlTrf_In_Handler79
4761
0x9D0015EC      0x70000000  NOP
4762
L___Lib_USB_USB_CtrlTrf_In_Handler400:
4763
;__Lib_USB.c, 3514 ::
4764
0x9D0015F0      0x8C3EACDC  LW  R30, Offset(__Lib_USB_outPipes+8)(GP)
4765
0x9D0015F4      0x03C0F809  JALR        RA, R30
4766
0x9D0015F8      0x70000000  NOP
4767
;__Lib_USB.c, 3515 ::
4768
L___Lib_USB_USB_CtrlTrf_In_Handler79:
4769
;__Lib_USB.c, 3516 ::
4770
0x9D0015FC      0x9022ACD8  LBU R2, Offset(__Lib_USB_outPipes+4)(GP)
4771
0x9D001600      0x7C0239C4  INS R2, R0, 7, 1
4772
0x9D001604      0xA022ACD8  SB  R2, Offset(__Lib_USB_outPipes+4)(GP)
4773
;__Lib_USB.c, 3517 ::
4774
L___Lib_USB_USB_CtrlTrf_In_Handler78:
4775
;__Lib_USB.c, 3519 ::
4776
0x9D001608      0xA020ACCA  SB  R0, Offset(__Lib_USB_controlTransferState+0)(GP)
4777
;__Lib_USB.c, 3522 ::
4778
L___Lib_USB_USB_CtrlTrf_In_Handler77:
4779
;__Lib_USB.c, 3524 ::
4780
L_end_USB_CtrlTrf_In_Handler:
4781
0x9D00160C      0x8FBF0000  LW  RA, 0(SP)
4782
0x9D001610      0x03E00008  JR  RA
4783
0x9D001614      0x27BD0004  ADDIU       SP, SP, 4
4784
; end of __Lib_USB_USB_CtrlTrf_In_Handler
4785
_HID_Read:
4786
;__Lib_USB.c, 5456 ::
4787
0x9D003DF4      0x27BDFFF0  ADDIU       SP, SP, -16
4788
0x9D003DF8      0xAFBF0000  SW  RA, 0(SP)
4789
;__Lib_USB.c, 5457 ::
4790
0x9D003DFC      0xAFB90004  SW  R25, 4(SP)
4791
0x9D003E00      0xAFBA0008  SW  R26, 8(SP)
4792
0x9D003E04      0xAFBB000C  SW  R27, 12(SP)
4793
0x9D003E08      0x341B0001  ORI R27, R0, 1
4794
0x9D003E0C      0x341A0040  ORI R26, R0, 64
4795
0x9D003E10      0x0F400D0C  JAL _Gen_Read+0
4796
0x9D003E14      0x8C39AC98  LW  R25, Offset(__Lib_USB_USB_Read_Buffer+0)(GP)
4797
;__Lib_USB.c, 5458 ::
4798
;__Lib_USB.c, 5457 ::
4799
;__Lib_USB.c, 5458 ::
4800
L_end_HID_Read:
4801
0x9D003E18      0x8FBB000C  LW  R27, 12(SP)
4802
0x9D003E1C      0x8FBA0008  LW  R26, 8(SP)
4803
0x9D003E20      0x8FB90004  LW  R25, 4(SP)
4804
0x9D003E24      0x8FBF0000  LW  RA, 0(SP)
4805
0x9D003E28      0x03E00008  JR  RA
4806
0x9D003E2C      0x27BD0010  ADDIU       SP, SP, 16
4807
; end of _HID_Read
4808
_Gen_Read:
4809
;__Lib_USB.c, 5373 ::
4810
0x9D003430      0x27BDFFE8  ADDIU       SP, SP, -24
4811
0x9D003434      0xAFBF0000  SW  RA, 0(SP)
4812
;__Lib_USB.c, 5374 ::
4813
0x9D003438      0xAFB90004  SW  R25, 4(SP)
4814
0x9D00343C      0xAFBA0008  SW  R26, 8(SP)
4815
0x9D003440      0xAFBB000C  SW  R27, 12(SP)
4816
0x9D003444      0xAFBC0010  SW  R28, 16(SP)
4817
; read_bytes start address is: 16 (R4)
4818
0x9D003448      0x0000200A  MOVZ        R4, R0, R0
4819
;__Lib_USB.c, 5377 ::
4820
0x9D00344C      0x9022ABF5  LBU R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
4821
0x9D003450      0x2C420020  SLTIU       R2, R2, 32
4822
0x9D003454      0x14400008  BNE R2, R0, L__Gen_Read299
4823
0x9D003458      0x70000000  NOP
4824
L__Gen_Read579:
4825
0x9D00345C      0x3C1EBF88  LUI R30, 49032
4826
0x9D003460      0x83C25080  LB  R2, 20608(R30)
4827
0x9D003464      0x7C420040  EXT R2, R2, 1, 1
4828
0x9D003468      0x14400003  BNE R2, 1, L__Gen_Read298
4829
0x9D00346C      0x70000000  NOP
4830
L__Gen_Read580:
4831
0x9D003470      0x0B400D20  J   L_Gen_Read235
4832
0x9D003474      0x70000000  NOP
4833
; read_bytes end address is: 16 (R4)
4834
L__Gen_Read299:
4835
L__Gen_Read298:
4836
;__Lib_USB.c, 5378 ::
4837
0x9D003478      0x0B400D39  J   L_end_Gen_Read
4838
0x9D00347C      0x0000100A  MOVZ        R2, R0, R0
4839
;__Lib_USB.c, 5379 ::
4840
L_Gen_Read235:
4841
;__Lib_USB.c, 5380 ::
4842
; read_bytes start address is: 16 (R4)
4843
0x9D003480      0xAFB90014  SW  R25, 20(SP)
4844
0x9D003484      0x0F4006FC  JAL __Lib_USB_USB_Handle_Busy+0
4845
0x9D003488      0x8C39ACA4  LW  R25, Offset(__Lib_USB_USB_Out_Handle+0)(GP)
4846
0x9D00348C      0x14400014  BNE R2, R0, L_Gen_Read236
4847
0x9D003490      0x8FB90014  LW  R25, 20(SP)
4848
L__Gen_Read581:
4849
;__Lib_USB.c, 5381 ::
4850
; handle start address is: 12 (R3)
4851
0x9D003494      0x8C23ACA4  LW  R3, Offset(__Lib_USB_USB_Out_Handle+0)(GP)
4852
;__Lib_USB.c, 5382 ::
4853
0x9D003498      0x8C22ACA4  LW  R2, Offset(__Lib_USB_USB_Out_Handle+0)(GP)
4854
0x9D00349C      0x10400006  BEQ R2, R0, L__Gen_Read300
4855
0x9D0034A0      0x70000000  NOP
4856
L__Gen_Read583:
4857
; read_bytes end address is: 16 (R4)
4858
;__Lib_USB.c, 5383 ::
4859
0x9D0034A4      0x24620002  ADDIU       R2, R3, 2
4860
; handle end address is: 12 (R3)
4861
0x9D0034A8      0x94420000  LHU R2, 0(R2)
4862
0x9D0034AC      0x7C424800  EXT R2, R2, 0, 10
4863
; read_bytes start address is: 24 (R6)
4864
; read_bytes end address is: 24 (R6)
4865
0x9D0034B0      0x0B400D2F  J   L_Gen_Read237
4866
0x9D0034B4      0x3046FFFF  ANDI        R6, R2, 65535
4867
L__Gen_Read300:
4868
;__Lib_USB.c, 5382 ::
4869
0x9D0034B8      0x308600FF  ANDI        R6, R4, 255
4870
;__Lib_USB.c, 5383 ::
4871
L_Gen_Read237:
4872
;__Lib_USB.c, 5384 ::
4873
; read_bytes start address is: 24 (R6)
4874
0x9D0034BC      0xA3BB0014  SB  R27, 20(SP)
4875
0x9D0034C0      0x335C00FF  ANDI        R28, R26, 255
4876
0x9D0034C4      0x0000D00A  MOVZ        R26, R0, R0
4877
0x9D0034C8      0x0320D80A  MOVZ        R27, R25, R0
4878
0x9D0034CC      0x0F4001BB  JAL __Lib_USB_USB_Transfer_Packet+0
4879
0x9D0034D0      0x93B90014  LBU R25, 20(SP)
4880
0x9D0034D4      0xAC22ACA4  SW  R2, Offset(__Lib_USB_USB_Out_Handle+0)(GP)
4881
;__Lib_USB.c, 5385 ::
4882
; read_bytes end address is: 24 (R6)
4883
0x9D0034D8      0x0B400D39  J   L_end_Gen_Read
4884
0x9D0034DC      0x30C200FF  ANDI        R2, R6, 255
4885
;__Lib_USB.c, 5386 ::
4886
L_Gen_Read236:
4887
0x9D0034E0      0x0000100A  MOVZ        R2, R0, R0
4888
;__Lib_USB.c, 5388 ::
4889
;__Lib_USB.c, 5386 ::
4890
;__Lib_USB.c, 5388 ::
4891
L_end_Gen_Read:
4892
0x9D0034E4      0x8FBC0010  LW  R28, 16(SP)
4893
0x9D0034E8      0x8FBB000C  LW  R27, 12(SP)
4894
0x9D0034EC      0x8FBA0008  LW  R26, 8(SP)
4895
0x9D0034F0      0x8FB90004  LW  R25, 4(SP)
4896
0x9D0034F4      0x8FBF0000  LW  RA, 0(SP)
4897
0x9D0034F8      0x03E00008  JR  RA
4898
0x9D0034FC      0x27BD0018  ADDIU       SP, SP, 24
4899
; end of _Gen_Read
4900
__Lib_USB_USB_Handle_Busy:
4901
;__Lib_USB.c, 2622 ::
4902
;__Lib_USB.c, 2623 ::
4903
0x9D001BF0      0x17200003  BNE R25, R0, L___Lib_USB_USB_Handle_Busy2
4904
0x9D001BF4      0x27BDFFFC  ADDIU       SP, SP, -4
4905
L___Lib_USB_USB_Handle_Busy323:
4906
; ?FLOC____Lib_USB_USB_Handle_Busy?T25 start address is: 12 (R3)
4907
; ?FLOC____Lib_USB_USB_Handle_Busy?T25 end address is: 12 (R3)
4908
0x9D001BF8      0x0B400702  J   L___Lib_USB_USB_Handle_Busy3
4909
0x9D001BFC      0x0000180A  MOVZ        R3, R0, R0
4910
L___Lib_USB_USB_Handle_Busy2:
4911
0x9D001C00      0x93220000  LBU R2, 0(R25)
4912
; ?FLOC____Lib_USB_USB_Handle_Busy?T25 start address is: 12 (R3)
4913
0x9D001C04      0x7C4301C0  EXT R3, R2, 7, 1
4914
; ?FLOC____Lib_USB_USB_Handle_Busy?T25 end address is: 12 (R3)
4915
L___Lib_USB_USB_Handle_Busy3:
4916
; ?FLOC____Lib_USB_USB_Handle_Busy?T25 start address is: 12 (R3)
4917
0x9D001C08      0x306200FF  ANDI        R2, R3, 255
4918
; ?FLOC____Lib_USB_USB_Handle_Busy?T25 end address is: 12 (R3)
4919
;__Lib_USB.c, 2624 ::
4920
L_end_USB_Handle_Busy:
4921
0x9D001C0C      0x03E00008  JR  RA
4922
0x9D001C10      0x27BD0004  ADDIU       SP, SP, 4
4923
; end of __Lib_USB_USB_Handle_Busy
4924
_cmd_chip_enable:
4925
;CMD_ChipEnable.c, 5 ::                 void cmd_chip_enable(unsigned char* cmd)
4926
0x9D003EF0      0x27BDFFF8  ADDIU       SP, SP, -8
4927
0x9D003EF4      0xAFBF0000  SW  RA, 0(SP)
4928
;CMD_ChipEnable.c, 7 ::                 nand_chip_select((int)cmd[1]);
4929
0x9D003EF8      0xAFB90004  SW  R25, 4(SP)
4930
0x9D003EFC      0x27220001  ADDIU       R2, R25, 1
4931
0x9D003F00      0x90420000  LBU R2, 0(R2)
4932
0x9D003F04      0x304200FF  ANDI        R2, R2, 255
4933
0x9D003F08      0x0F400D40  JAL _nand_chip_select+0
4934
0x9D003F0C      0x7C02CE20  SEH R25, R2
4935
;CMD_ChipEnable.c, 8 ::                 }
4936
L_end_cmd_chip_enable:
4937
0x9D003F10      0x8FB90004  LW  R25, 4(SP)
4938
0x9D003F14      0x8FBF0000  LW  RA, 0(SP)
4939
0x9D003F18      0x03E00008  JR  RA
4940
0x9D003F1C      0x27BD0008  ADDIU       SP, SP, 8
4941
; end of _cmd_chip_enable
4942
_nand_chip_select:
4943
;NandControl.c, 72 ::           void nand_chip_select(int idx)
4944
;NandControl.c, 74 ::           switch(idx)
4945
0x9D003500      0x0B400DA0  J   L_nand_chip_select4
4946
0x9D003504      0x70000000  NOP
4947
;NandControl.c, 76 ::           case 0:
4948
L_nand_chip_select6:
4949
;NandControl.c, 77 ::           ctrl_nce1 = ctrl_nce2 = ctrl_nce3 = 1;
4950
0x9D003508      0x34020040  ORI R2, R0, 0x0040
4951
0x9D00350C      0x3C1EBF88  LUI R30, 49032
4952
0x9D003510      0xA3C26069  SB  R2, 24681(R30)
4953
0x9D003514      0x3C1EBF88  LUI R30, 49032
4954
0x9D003518      0x83C26061  LB  R2, 24673(R30)
4955
0x9D00351C      0x7C430180  EXT R3, R2, 6, 1
4956
0x9D003520      0x3C1EBF88  LUI R30, 49032
4957
0x9D003524      0x83C26160  LB  R2, 24928(R30)
4958
0x9D003528      0x7C620004  INS R2, R3, 0, 1
4959
0x9D00352C      0x3C1EBF88  LUI R30, 49032
4960
0x9D003530      0xA3C26160  SB  R2, 24928(R30)
4961
0x9D003534      0x3C1EBF88  LUI R30, 49032
4962
0x9D003538      0x83C26160  LB  R2, 24928(R30)
4963
0x9D00353C      0x7C430000  EXT R3, R2, 0, 1
4964
0x9D003540      0x3C1EBF88  LUI R30, 49032
4965
0x9D003544      0x83C26160  LB  R2, 24928(R30)
4966
0x9D003548      0x7C620844  INS R2, R3, 1, 1
4967
0x9D00354C      0x3C1EBF88  LUI R30, 49032
4968
0x9D003550      0xA3C26160  SB  R2, 24928(R30)
4969
;NandControl.c, 78 ::           ctrl_nce0 = 0;
4970
0x9D003554      0x34020001  ORI R2, R0, 0x0001
4971
0x9D003558      0x3C1EBF88  LUI R30, 49032
4972
;NandControl.c, 79 ::           break;
4973
0x9D00355C      0x0B400DB1  J   L_nand_chip_select5
4974
0x9D003560      0xA3C26065  SB  R2, 24677(R30)
4975
;NandControl.c, 81 ::           case 1:
4976
L_nand_chip_select7:
4977
;NandControl.c, 82 ::           ctrl_nce0 = ctrl_nce2 = ctrl_nce3 = 1;
4978
0x9D003564      0x34020040  ORI R2, R0, 0x0040
4979
0x9D003568      0x3C1EBF88  LUI R30, 49032
4980
0x9D00356C      0xA3C26069  SB  R2, 24681(R30)
4981
0x9D003570      0x3C1EBF88  LUI R30, 49032
4982
0x9D003574      0x83C26061  LB  R2, 24673(R30)
4983
0x9D003578      0x7C430180  EXT R3, R2, 6, 1
4984
0x9D00357C      0x3C1EBF88  LUI R30, 49032
4985
0x9D003580      0x83C26160  LB  R2, 24928(R30)
4986
0x9D003584      0x7C620004  INS R2, R3, 0, 1
4987
0x9D003588      0x3C1EBF88  LUI R30, 49032
4988
0x9D00358C      0xA3C26160  SB  R2, 24928(R30)
4989
0x9D003590      0x3C1EBF88  LUI R30, 49032
4990
0x9D003594      0x83C26160  LB  R2, 24928(R30)
4991
0x9D003598      0x7C430000  EXT R3, R2, 0, 1
4992
0x9D00359C      0x3C1EBF88  LUI R30, 49032
4993
0x9D0035A0      0x83C26061  LB  R2, 24673(R30)
4994
0x9D0035A4      0x7C620004  INS R2, R3, 0, 1
4995
0x9D0035A8      0x3C1EBF88  LUI R30, 49032
4996
0x9D0035AC      0xA3C26061  SB  R2, 24673(R30)
4997
;NandControl.c, 83 ::           ctrl_nce1 = 0;
4998
0x9D0035B0      0x34020002  ORI R2, R0, 0x0002
4999
0x9D0035B4      0x3C1EBF88  LUI R30, 49032
5000
;NandControl.c, 84 ::           break;
5001
0x9D0035B8      0x0B400DB1  J   L_nand_chip_select5
5002
0x9D0035BC      0xA3C26164  SB  R2, 24932(R30)
5003
;NandControl.c, 86 ::           case 2:
5004
L_nand_chip_select8:
5005
;NandControl.c, 87 ::           ctrl_nce0 = ctrl_nce1 = ctrl_nce3 = 1;
5006
0x9D0035C0      0x34020040  ORI R2, R0, 0x0040
5007
0x9D0035C4      0x3C1EBF88  LUI R30, 49032
5008
0x9D0035C8      0xA3C26069  SB  R2, 24681(R30)
5009
0x9D0035CC      0x3C1EBF88  LUI R30, 49032
5010
0x9D0035D0      0x83C26061  LB  R2, 24673(R30)
5011
0x9D0035D4      0x7C430180  EXT R3, R2, 6, 1
5012
0x9D0035D8      0x3C1EBF88  LUI R30, 49032
5013
0x9D0035DC      0x83C26160  LB  R2, 24928(R30)
5014
0x9D0035E0      0x7C620844  INS R2, R3, 1, 1
5015
0x9D0035E4      0x3C1EBF88  LUI R30, 49032
5016
0x9D0035E8      0xA3C26160  SB  R2, 24928(R30)
5017
0x9D0035EC      0x3C1EBF88  LUI R30, 49032
5018
0x9D0035F0      0x83C26160  LB  R2, 24928(R30)
5019
0x9D0035F4      0x7C430040  EXT R3, R2, 1, 1
5020
0x9D0035F8      0x3C1EBF88  LUI R30, 49032
5021
0x9D0035FC      0x83C26061  LB  R2, 24673(R30)
5022
0x9D003600      0x7C620004  INS R2, R3, 0, 1
5023
0x9D003604      0x3C1EBF88  LUI R30, 49032
5024
0x9D003608      0xA3C26061  SB  R2, 24673(R30)
5025
;NandControl.c, 88 ::           ctrl_nce2 = 0;
5026
0x9D00360C      0x34020001  ORI R2, R0, 0x0001
5027
0x9D003610      0x3C1EBF88  LUI R30, 49032
5028
;NandControl.c, 89 ::           break;
5029
0x9D003614      0x0B400DB1  J   L_nand_chip_select5
5030
0x9D003618      0xA3C26164  SB  R2, 24932(R30)
5031
;NandControl.c, 91 ::           case 3:
5032
L_nand_chip_select9:
5033
;NandControl.c, 92 ::           ctrl_nce0 = ctrl_nce1 = ctrl_nce2 = 1;
5034
0x9D00361C      0x34020001  ORI R2, R0, 0x0001
5035
0x9D003620      0x3C1EBF88  LUI R30, 49032
5036
0x9D003624      0xA3C26168  SB  R2, 24936(R30)
5037
0x9D003628      0x3C1EBF88  LUI R30, 49032
5038
0x9D00362C      0x83C26160  LB  R2, 24928(R30)
5039
0x9D003630      0x7C430000  EXT R3, R2, 0, 1
5040
0x9D003634      0x3C1EBF88  LUI R30, 49032
5041
0x9D003638      0x83C26160  LB  R2, 24928(R30)
5042
0x9D00363C      0x7C620844  INS R2, R3, 1, 1
5043
0x9D003640      0x3C1EBF88  LUI R30, 49032
5044
0x9D003644      0xA3C26160  SB  R2, 24928(R30)
5045
0x9D003648      0x3C1EBF88  LUI R30, 49032
5046
0x9D00364C      0x83C26160  LB  R2, 24928(R30)
5047
0x9D003650      0x7C430040  EXT R3, R2, 1, 1
5048
0x9D003654      0x3C1EBF88  LUI R30, 49032
5049
0x9D003658      0x83C26061  LB  R2, 24673(R30)
5050
0x9D00365C      0x7C620004  INS R2, R3, 0, 1
5051
0x9D003660      0x3C1EBF88  LUI R30, 49032
5052
0x9D003664      0xA3C26061  SB  R2, 24673(R30)
5053
;NandControl.c, 93 ::           ctrl_nce3 = 0;
5054
0x9D003668      0x34020040  ORI R2, R0, 0x0040
5055
0x9D00366C      0x3C1EBF88  LUI R30, 49032
5056
;NandControl.c, 94 ::           break;
5057
0x9D003670      0x0B400DB1  J   L_nand_chip_select5
5058
0x9D003674      0xA3C26065  SB  R2, 24677(R30)
5059
;NandControl.c, 96 ::           default:
5060
L_nand_chip_select10:
5061
;NandControl.c, 97 ::           break;
5062
0x9D003678      0x0B400DB1  J   L_nand_chip_select5
5063
0x9D00367C      0x70000000  NOP
5064
;NandControl.c, 98 ::           }
5065
L_nand_chip_select4:
5066
0x9D003680      0x7C191620  SEH R2, R25
5067
0x9D003684      0x1040FFA0  BEQ R2, R0, L_nand_chip_select6
5068
0x9D003688      0x70000000  NOP
5069
L__nand_chip_select35:
5070
0x9D00368C      0x7C191E20  SEH R3, R25
5071
0x9D003690      0x34020001  ORI R2, R0, 1
5072
0x9D003694      0x1062FFB3  BEQ R3, R2, L_nand_chip_select7
5073
0x9D003698      0x70000000  NOP
5074
L__nand_chip_select37:
5075
0x9D00369C      0x7C191E20  SEH R3, R25
5076
0x9D0036A0      0x34020002  ORI R2, R0, 2
5077
0x9D0036A4      0x1062FFC6  BEQ R3, R2, L_nand_chip_select8
5078
0x9D0036A8      0x70000000  NOP
5079
L__nand_chip_select39:
5080
0x9D0036AC      0x7C191E20  SEH R3, R25
5081
0x9D0036B0      0x34020003  ORI R2, R0, 3
5082
0x9D0036B4      0x1062FFD9  BEQ R3, R2, L_nand_chip_select9
5083
0x9D0036B8      0x70000000  NOP
5084
L__nand_chip_select41:
5085
0x9D0036BC      0x0B400D9E  J   L_nand_chip_select10
5086
0x9D0036C0      0x70000000  NOP
5087
L_nand_chip_select5:
5088
;NandControl.c, 99 ::           }
5089
L_end_nand_chip_select:
5090
0x9D0036C4      0x03E00008  JR  RA
5091
0x9D0036C8      0x70000000  NOP
5092
; end of _nand_chip_select
5093
_cmd_chip_disable:
5094
;CMD_ChipEnable.c, 10 ::                void cmd_chip_disable()
5095
0x9D003F20      0x27BDFFFC  ADDIU       SP, SP, -4
5096
0x9D003F24      0xAFBF0000  SW  RA, 0(SP)
5097
;CMD_ChipEnable.c, 12 ::                nand_chip_unselect();
5098
0x9D003F28      0x0F400832  JAL _nand_chip_unselect+0
5099
0x9D003F2C      0x70000000  NOP
5100
;CMD_ChipEnable.c, 13 ::                }
5101
L_end_cmd_chip_disable:
5102
0x9D003F30      0x8FBF0000  LW  RA, 0(SP)
5103
0x9D003F34      0x03E00008  JR  RA
5104
0x9D003F38      0x27BD0004  ADDIU       SP, SP, 4
5105
; end of _cmd_chip_disable
5106
_nand_chip_unselect:
5107
;NandControl.c, 101 ::          void nand_chip_unselect()
5108
;NandControl.c, 103 ::          ctrl_nce0 = 1;
5109
0x9D0020C8      0x34020001  ORI R2, R0, 0x0001
5110
0x9D0020CC      0x3C1EBF88  LUI R30, 49032
5111
0x9D0020D0      0xA3C26069  SB  R2, 24681(R30)
5112
;NandControl.c, 104 ::          ctrl_nce1 = 1;
5113
0x9D0020D4      0x34020002  ORI R2, R0, 0x0002
5114
0x9D0020D8      0x3C1EBF88  LUI R30, 49032
5115
0x9D0020DC      0xA3C26168  SB  R2, 24936(R30)
5116
;NandControl.c, 105 ::          ctrl_nce2 = 1;
5117
0x9D0020E0      0x34020001  ORI R2, R0, 0x0001
5118
0x9D0020E4      0x3C1EBF88  LUI R30, 49032
5119
0x9D0020E8      0xA3C26168  SB  R2, 24936(R30)
5120
;NandControl.c, 106 ::          ctrl_nce3 = 1;
5121
0x9D0020EC      0x34020040  ORI R2, R0, 0x0040
5122
0x9D0020F0      0x3C1EBF88  LUI R30, 49032
5123
0x9D0020F4      0xA3C26069  SB  R2, 24681(R30)
5124
;NandControl.c, 107 ::          }
5125
L_end_nand_chip_unselect:
5126
0x9D0020F8      0x03E00008  JR  RA
5127
0x9D0020FC      0x70000000  NOP
5128
; end of _nand_chip_unselect
5129
_cmd_chip_reset:
5130
;CMD_Reset.c, 14 ::             void cmd_chip_reset()
5131
0x9D003F3C      0x27BDFFF8  ADDIU       SP, SP, -8
5132
0x9D003F40      0xAFBF0000  SW  RA, 0(SP)
5133
;CMD_Reset.c, 16 ::             nand_send_command(NC_RESET);
5134
0x9D003F44      0xAFB90004  SW  R25, 4(SP)
5135
0x9D003F48      0x0F40087F  JAL _nand_send_command+0
5136
0x9D003F4C      0x341900FF  ORI R25, R0, 255
5137
;CMD_Reset.c, 17 ::             do_delay(10);
5138
0x9D003F50      0x0F40084C  JAL _do_delay+0
5139
0x9D003F54      0x3419000A  ORI R25, R0, 10
5140
;CMD_Reset.c, 18 ::             while(!nand_is_ready());
5141
L_cmd_chip_reset3:
5142
0x9D003F58      0x0F400898  JAL _nand_is_ready+0
5143
0x9D003F5C      0x70000000  NOP
5144
0x9D003F60      0x14400003  BNE R2, R0, L_cmd_chip_reset4
5145
0x9D003F64      0x70000000  NOP
5146
L__cmd_chip_reset8:
5147
0x9D003F68      0x0B400FD6  J   L_cmd_chip_reset3
5148
0x9D003F6C      0x70000000  NOP
5149
L_cmd_chip_reset4:
5150
;CMD_Reset.c, 19 ::             }
5151
L_end_cmd_chip_reset:
5152
0x9D003F70      0x8FB90004  LW  R25, 4(SP)
5153
0x9D003F74      0x8FBF0000  LW  RA, 0(SP)
5154
0x9D003F78      0x03E00008  JR  RA
5155
0x9D003F7C      0x27BD0008  ADDIU       SP, SP, 8
5156
; end of _cmd_chip_reset
5157
_nand_send_command:
5158
;NandControl.c, 110 ::          void nand_send_command(unsigned char cmd)
5159
0x9D0021FC      0x27BDFFFC  ADDIU       SP, SP, -4
5160
0x9D002200      0xAFBF0000  SW  RA, 0(SP)
5161
;NandControl.c, 112 ::          data_line_write_byte(cmd);
5162
0x9D002204      0x0F40069B  JAL _data_line_write_byte+0
5163
0x9D002208      0x70000000  NOP
5164
;NandControl.c, 113 ::          ctrl_ale = 0;
5165
0x9D00220C      0x34020001  ORI R2, R0, 0x0001
5166
0x9D002210      0x3C1EBF88  LUI R30, 49032
5167
0x9D002214      0xA3C260E4  SB  R2, 24804(R30)
5168
;NandControl.c, 114 ::          ctrl_nre = 1;
5169
0x9D002218      0x34020010  ORI R2, R0, 0x0010
5170
0x9D00221C      0x3C1EBF88  LUI R30, 49032
5171
0x9D002220      0xA3C260E8  SB  R2, 24808(R30)
5172
;NandControl.c, 115 ::          ctrl_nwe = 0;
5173
0x9D002224      0x34020001  ORI R2, R0, 0x0001
5174
0x9D002228      0x3C1EBF88  LUI R30, 49032
5175
0x9D00222C      0xA3C26124  SB  R2, 24868(R30)
5176
;NandControl.c, 116 ::          ctrl_cle = 1;
5177
0x9D002230      0x34020080  ORI R2, R0, 0x0080
5178
0x9D002234      0x3C1EBF88  LUI R30, 49032
5179
0x9D002238      0xA3C26069  SB  R2, 24681(R30)
5180
;NandControl.c, 117 ::          ctrl_nwe = 1;
5181
0x9D00223C      0x34020001  ORI R2, R0, 0x0001
5182
0x9D002240      0x3C1EBF88  LUI R30, 49032
5183
0x9D002244      0xA3C26128  SB  R2, 24872(R30)
5184
;NandControl.c, 118 ::          ctrl_cle = 0;
5185
0x9D002248      0x34020080  ORI R2, R0, 0x0080
5186
0x9D00224C      0x3C1EBF88  LUI R30, 49032
5187
0x9D002250      0xA3C26065  SB  R2, 24677(R30)
5188
;NandControl.c, 119 ::          }
5189
L_end_nand_send_command:
5190
0x9D002254      0x8FBF0000  LW  RA, 0(SP)
5191
0x9D002258      0x03E00008  JR  RA
5192
0x9D00225C      0x27BD0004  ADDIU       SP, SP, 4
5193
; end of _nand_send_command
5194
_data_line_write_byte:
5195
;NandDataLine.c, 38 ::          void data_line_write_byte(unsigned char b)
5196
;NandDataLine.c, 40 ::          if(data_line_last_op != NAND_LAST_OP_WRITE)
5197
0x9D001A6C      0x8423804C  LH  R3, Offset(_data_line_last_op+0)(GP)
5198
0x9D001A70      0x34020001  ORI R2, R0, 1
5199
0x9D001A74      0x1062001B  BEQ R3, R2, L_data_line_write_byte0
5200
0x9D001A78      0x70000000  NOP
5201
L__data_line_write_byte5:
5202
;NandDataLine.c, 42 ::          TRISE2_bit = 0; TRISE3_bit = 0; TRISE4_bit = 0; TRISE5_bit = 0;
5203
0x9D001A7C      0x34020004  ORI R2, R0, 0x0004
5204
0x9D001A80      0x3C1EBF88  LUI R30, 49032
5205
0x9D001A84      0xA3C26104  SB  R2, 24836(R30)
5206
0x9D001A88      0x34020008  ORI R2, R0, 0x0008
5207
0x9D001A8C      0x3C1EBF88  LUI R30, 49032
5208
0x9D001A90      0xA3C26104  SB  R2, 24836(R30)
5209
0x9D001A94      0x34020010  ORI R2, R0, 0x0010
5210
0x9D001A98      0x3C1EBF88  LUI R30, 49032
5211
0x9D001A9C      0xA3C26104  SB  R2, 24836(R30)
5212
0x9D001AA0      0x34020020  ORI R2, R0, 0x0020
5213
0x9D001AA4      0x3C1EBF88  LUI R30, 49032
5214
0x9D001AA8      0xA3C26104  SB  R2, 24836(R30)
5215
;NandDataLine.c, 43 ::          TRISF4_bit = 0; TRISF5_bit = 0;
5216
0x9D001AAC      0x34020010  ORI R2, R0, 0x0010
5217
0x9D001AB0      0x3C1EBF88  LUI R30, 49032
5218
0x9D001AB4      0xA3C26144  SB  R2, 24900(R30)
5219
0x9D001AB8      0x34020020  ORI R2, R0, 0x0020
5220
0x9D001ABC      0x3C1EBF88  LUI R30, 49032
5221
0x9D001AC0      0xA3C26144  SB  R2, 24900(R30)
5222
;NandDataLine.c, 44 ::          TRISG7_bit = 0; TRISG8_bit = 0;
5223
0x9D001AC4      0x34020080  ORI R2, R0, 0x0080
5224
0x9D001AC8      0x3C1EBF88  LUI R30, 49032
5225
0x9D001ACC      0xA3C26184  SB  R2, 24964(R30)
5226
0x9D001AD0      0x34020001  ORI R2, R0, 0x0001
5227
0x9D001AD4      0x3C1EBF88  LUI R30, 49032
5228
0x9D001AD8      0xA3C26185  SB  R2, 24965(R30)
5229
;NandDataLine.c, 45 ::          data_line_last_op = NAND_LAST_OP_WRITE;
5230
0x9D001ADC      0x34020001  ORI R2, R0, 1
5231
0x9D001AE0      0xA422804C  SH  R2, Offset(_data_line_last_op+0)(GP)
5232
;NandDataLine.c, 46 ::          }
5233
L_data_line_write_byte0:
5234
;NandDataLine.c, 47 ::          nand_b0 = (b) & 1;
5235
0x9D001AE4      0x33230001  ANDI        R3, R25, 1
5236
0x9D001AE8      0x3C1EBF88  LUI R30, 49032
5237
0x9D001AEC      0x83C26120  LB  R2, 24864(R30)
5238
0x9D001AF0      0x7C621084  INS R2, R3, 2, 1
5239
0x9D001AF4      0x3C1EBF88  LUI R30, 49032
5240
0x9D001AF8      0xA3C26120  SB  R2, 24864(R30)
5241
;NandDataLine.c, 48 ::          nand_b1 = (b >> 1) & 1;
5242
0x9D001AFC      0x332200FF  ANDI        R2, R25, 255
5243
0x9D001B00      0x00021042  SRL R2, R2, 1
5244
0x9D001B04      0x30430001  ANDI        R3, R2, 1
5245
0x9D001B08      0x3C1EBF88  LUI R30, 49032
5246
0x9D001B0C      0x83C26120  LB  R2, 24864(R30)
5247
0x9D001B10      0x7C6218C4  INS R2, R3, 3, 1
5248
0x9D001B14      0x3C1EBF88  LUI R30, 49032
5249
0x9D001B18      0xA3C26120  SB  R2, 24864(R30)
5250
;NandDataLine.c, 49 ::          nand_b2 = (b >> 2) & 1;
5251
0x9D001B1C      0x332200FF  ANDI        R2, R25, 255
5252
0x9D001B20      0x00021082  SRL R2, R2, 2
5253
0x9D001B24      0x30430001  ANDI        R3, R2, 1
5254
0x9D001B28      0x3C1EBF88  LUI R30, 49032
5255
0x9D001B2C      0x83C261A0  LB  R2, 24992(R30)
5256
0x9D001B30      0x7C6239C4  INS R2, R3, 7, 1
5257
0x9D001B34      0x3C1EBF88  LUI R30, 49032
5258
0x9D001B38      0xA3C261A0  SB  R2, 24992(R30)
5259
;NandDataLine.c, 50 ::          nand_b3 = (b >> 3) & 1;
5260
0x9D001B3C      0x332200FF  ANDI        R2, R25, 255
5261
0x9D001B40      0x000210C2  SRL R2, R2, 3
5262
0x9D001B44      0x30430001  ANDI        R3, R2, 1
5263
0x9D001B48      0x3C1EBF88  LUI R30, 49032
5264
0x9D001B4C      0x83C261A1  LB  R2, 24993(R30)
5265
0x9D001B50      0x7C620004  INS R2, R3, 0, 1
5266
0x9D001B54      0x3C1EBF88  LUI R30, 49032
5267
0x9D001B58      0xA3C261A1  SB  R2, 24993(R30)
5268
;NandDataLine.c, 51 ::          nand_b4 = (b >> 4) & 1;
5269
0x9D001B5C      0x332200FF  ANDI        R2, R25, 255
5270
0x9D001B60      0x00021102  SRL R2, R2, 4
5271
0x9D001B64      0x30430001  ANDI        R3, R2, 1
5272
0x9D001B68      0x3C1EBF88  LUI R30, 49032
5273
0x9D001B6C      0x83C26160  LB  R2, 24928(R30)
5274
0x9D001B70      0x7C622944  INS R2, R3, 5, 1
5275
0x9D001B74      0x3C1EBF88  LUI R30, 49032
5276
0x9D001B78      0xA3C26160  SB  R2, 24928(R30)
5277
;NandDataLine.c, 52 ::          nand_b5 = (b >> 5) & 1;
5278
0x9D001B7C      0x332200FF  ANDI        R2, R25, 255
5279
0x9D001B80      0x00021142  SRL R2, R2, 5
5280
0x9D001B84      0x30430001  ANDI        R3, R2, 1
5281
0x9D001B88      0x3C1EBF88  LUI R30, 49032
5282
0x9D001B8C      0x83C26160  LB  R2, 24928(R30)
5283
0x9D001B90      0x7C622104  INS R2, R3, 4, 1
5284
0x9D001B94      0x3C1EBF88  LUI R30, 49032
5285
0x9D001B98      0xA3C26160  SB  R2, 24928(R30)
5286
;NandDataLine.c, 53 ::          nand_b6 = (b >> 6) & 1;
5287
0x9D001B9C      0x332200FF  ANDI        R2, R25, 255
5288
0x9D001BA0      0x00021182  SRL R2, R2, 6
5289
0x9D001BA4      0x30430001  ANDI        R3, R2, 1
5290
0x9D001BA8      0x3C1EBF88  LUI R30, 49032
5291
0x9D001BAC      0x83C26120  LB  R2, 24864(R30)
5292
0x9D001BB0      0x7C622104  INS R2, R3, 4, 1
5293
0x9D001BB4      0x3C1EBF88  LUI R30, 49032
5294
0x9D001BB8      0xA3C26120  SB  R2, 24864(R30)
5295
;NandDataLine.c, 54 ::          nand_b7 = (b >> 7) & 1;
5296
0x9D001BBC      0x332200FF  ANDI        R2, R25, 255
5297
0x9D001BC0      0x000211C2  SRL R2, R2, 7
5298
0x9D001BC4      0x30430001  ANDI        R3, R2, 1
5299
0x9D001BC8      0x3C1EBF88  LUI R30, 49032
5300
0x9D001BCC      0x83C26120  LB  R2, 24864(R30)
5301
0x9D001BD0      0x7C622944  INS R2, R3, 5, 1
5302
0x9D001BD4      0x3C1EBF88  LUI R30, 49032
5303
0x9D001BD8      0xA3C26120  SB  R2, 24864(R30)
5304
;NandDataLine.c, 55 ::          asm NOP;
5305
0x9D001BDC      0x70000000  NOP
5306
;NandDataLine.c, 56 ::          asm NOP;
5307
0x9D001BE0      0x70000000  NOP
5308
;NandDataLine.c, 57 ::          asm NOP;
5309
0x9D001BE4      0x70000000  NOP
5310
;NandDataLine.c, 58 ::          }
5311
L_end_data_line_write_byte:
5312
0x9D001BE8      0x03E00008  JR  RA
5313
0x9D001BEC      0x70000000  NOP
5314
; end of _data_line_write_byte
5315
_do_delay:
5316
;CMD_Reset.c, 5 ::              void do_delay(int cycles)
5317
;CMD_Reset.c, 8 ::              for(i = 0; i < cycles; i++)
5318
; i start address is: 16 (R4)
5319
0x9D002130      0x0000200A  MOVZ        R4, R0, R0
5320
; i end address is: 16 (R4)
5321
L_do_delay0:
5322
; i start address is: 16 (R4)
5323
0x9D002134      0x7C041E20  SEH R3, R4
5324
0x9D002138      0x7C191620  SEH R2, R25
5325
0x9D00213C      0x0062102A  SLT R2, R3, R2
5326
0x9D002140      0x10400005  BEQ R2, R0, L_do_delay1
5327
0x9D002144      0x70000000  NOP
5328
L__do_delay6:
5329
;CMD_Reset.c, 10 ::             asm NOP;
5330
0x9D002148      0x70000000  NOP
5331
;CMD_Reset.c, 8 ::              for(i = 0; i < cycles; i++)
5332
0x9D00214C      0x24820001  ADDIU       R2, R4, 1
5333
;CMD_Reset.c, 11 ::             }
5334
; i end address is: 16 (R4)
5335
0x9D002150      0x0B40084D  J   L_do_delay0
5336
0x9D002154      0x7C022620  SEH R4, R2
5337
L_do_delay1:
5338
;CMD_Reset.c, 12 ::             }
5339
L_end_do_delay:
5340
0x9D002158      0x03E00008  JR  RA
5341
0x9D00215C      0x70000000  NOP
5342
; end of _do_delay
5343
_nand_is_ready:
5344
;NandControl.c, 57 ::           int nand_is_ready()
5345
;NandControl.c, 59 ::           int r = (int)(ctrl_rnb0 & ctrl_rnb1 & ctrl_rnb2 & ctrl_rnb3);
5346
0x9D002260      0x3C1EBF88  LUI R30, 49032
5347
0x9D002264      0x93C260D0  LBU R2, 24784(R30)
5348
0x9D002268      0x7C420140  EXT R2, R2, 5, 1
5349
0x9D00226C      0x304300FF  ANDI        R3, R2, 255
5350
0x9D002270      0x3C1EBF88  LUI R30, 49032
5351
0x9D002274      0x93C26051  LBU R2, 24657(R30)
5352
0x9D002278      0x7C420040  EXT R2, R2, 1, 1
5353
0x9D00227C      0x00621824  AND R3, R3, R2
5354
0x9D002280      0x3C1EBF88  LUI R30, 49032
5355
0x9D002284      0x93C260D1  LBU R2, 24785(R30)
5356
0x9D002288      0x7C4200C0  EXT R2, R2, 3, 1
5357
0x9D00228C      0x00621824  AND R3, R3, R2
5358
0x9D002290      0x3C1EBF88  LUI R30, 49032
5359
0x9D002294      0x93C26050  LBU R2, 24656(R30)
5360
0x9D002298      0x7C420000  EXT R2, R2, 0, 1
5361
0x9D00229C      0x00621024  AND R2, R3, R2
5362
0x9D0022A0      0x304200FF  ANDI        R2, R2, 255
5363
; r start address is: 12 (R3)
5364
0x9D0022A4      0x7C021E20  SEH R3, R2
5365
;NandControl.c, 60 ::           if(0 == r)
5366
0x9D0022A8      0x7C021620  SEH R2, R2
5367
0x9D0022AC      0x14400005  BNE R2, R0, L_nand_is_ready0
5368
0x9D0022B0      0x70000000  NOP
5369
L__nand_is_ready30:
5370
;NandControl.c, 61 ::           LATG6_bit = 0;
5371
0x9D0022B4      0x34020040  ORI R2, R0, 0x0040
5372
0x9D0022B8      0x3C1EBF88  LUI R30, 49032
5373
0x9D0022BC      0x0B4008B4  J   L_nand_is_ready1
5374
0x9D0022C0      0xA3C261A4  SB  R2, 24996(R30)
5375
L_nand_is_ready0:
5376
;NandControl.c, 63 ::           LATG6_bit = 1;
5377
0x9D0022C4      0x34020040  ORI R2, R0, 0x0040
5378
0x9D0022C8      0x3C1EBF88  LUI R30, 49032
5379
0x9D0022CC      0xA3C261A8  SB  R2, 25000(R30)
5380
L_nand_is_ready1:
5381
;NandControl.c, 64 ::           return r;
5382
0x9D0022D0      0x7C031620  SEH R2, R3
5383
; r end address is: 12 (R3)
5384
;NandControl.c, 65 ::           }
5385
L_end_nand_is_ready:
5386
0x9D0022D4      0x03E00008  JR  RA
5387
0x9D0022D8      0x70000000  NOP
5388
; end of _nand_is_ready
5389
_cmd_chip_read_id:
5390
;CMD_ReadID.c, 5 ::             void cmd_chip_read_id(unsigned char* outBuffer, int addr)
5391
0x9D003E30      0x27BDFFEC  ADDIU       SP, SP, -20
5392
0x9D003E34      0xAFBF0000  SW  RA, 0(SP)
5393
0x9D003E38      0xAFBA0004  SW  R26, 4(SP)
5394
0x9D003E3C      0xA7BA0010  SH  R26, 16(SP)
5395
;CMD_ReadID.c, 7 ::             nand_send_command(NC_READ_ID);
5396
0x9D003E40      0xAFB90008  SW  R25, 8(SP)
5397
0x9D003E44      0x0F40087F  JAL _nand_send_command+0
5398
0x9D003E48      0x34190090  ORI R25, R0, 144
5399
;CMD_ReadID.c, 8 ::             nand_send_address(&addr, 1);
5400
0x9D003E4C      0x27A20010  ADDIU       R2, SP, 16
5401
0x9D003E50      0x341A0001  ORI R26, R0, 1
5402
0x9D003E54      0x0F400A65  JAL _nand_send_address+0
5403
0x9D003E58      0x0040C80A  MOVZ        R25, R2, R0
5404
;CMD_ReadID.c, 9 ::             do_delay(10);
5405
0x9D003E5C      0x0F40084C  JAL _do_delay+0
5406
0x9D003E60      0x3419000A  ORI R25, R0, 10
5407
0x9D003E64      0x8FB90008  LW  R25, 8(SP)
5408
;CMD_ReadID.c, 10 ::            while(!nand_is_ready());
5409
L_cmd_chip_read_id0:
5410
0x9D003E68      0xA7BA0008  SH  R26, 8(SP)
5411
0x9D003E6C      0x0F400898  JAL _nand_is_ready+0
5412
0x9D003E70      0xAFB9000C  SW  R25, 12(SP)
5413
0x9D003E74      0x8FB9000C  LW  R25, 12(SP)
5414
0x9D003E78      0x14400003  BNE R2, R0, L_cmd_chip_read_id1
5415
0x9D003E7C      0x87BA0008  LH  R26, 8(SP)
5416
L__cmd_chip_read_id7:
5417
0x9D003E80      0x0B400F9A  J   L_cmd_chip_read_id0
5418
0x9D003E84      0x70000000  NOP
5419
L_cmd_chip_read_id1:
5420
;CMD_ReadID.c, 11 ::            do_delay(2500);
5421
0x9D003E88      0xA7BA0008  SH  R26, 8(SP)
5422
0x9D003E8C      0xAFB9000C  SW  R25, 12(SP)
5423
0x9D003E90      0x0F40084C  JAL _do_delay+0
5424
0x9D003E94      0x341909C4  ORI R25, R0, 2500
5425
0x9D003E98      0x8FB9000C  LW  R25, 12(SP)
5426
0x9D003E9C      0x87BA0008  LH  R26, 8(SP)
5427
;CMD_ReadID.c, 12 ::            if(0 == addr)
5428
0x9D003EA0      0x87A20010  LH  R2, 16(SP)
5429
0x9D003EA4      0x14400008  BNE R2, R0, L_cmd_chip_read_id2
5430
0x9D003EA8      0x70000000  NOP
5431
L__cmd_chip_read_id8:
5432
;CMD_ReadID.c, 13 ::            nand_read(outBuffer, 5);
5433
0x9D003EAC      0xA7BA0008  SH  R26, 8(SP)
5434
0x9D003EB0      0xAFB9000C  SW  R25, 12(SP)
5435
0x9D003EB4      0x0F4008B7  JAL _nand_read+0
5436
0x9D003EB8      0x341A0005  ORI R26, R0, 5
5437
0x9D003EBC      0x8FB9000C  LW  R25, 12(SP)
5438
0x9D003EC0      0x0B400FB8  J   L_cmd_chip_read_id3
5439
0x9D003EC4      0x87BA0008  LH  R26, 8(SP)
5440
L_cmd_chip_read_id2:
5441
;CMD_ReadID.c, 15 ::            nand_read(outBuffer, 4);
5442
0x9D003EC8      0xA7BA0008  SH  R26, 8(SP)
5443
0x9D003ECC      0xAFB9000C  SW  R25, 12(SP)
5444
0x9D003ED0      0x0F4008B7  JAL _nand_read+0
5445
0x9D003ED4      0x341A0004  ORI R26, R0, 4
5446
0x9D003ED8      0x8FB9000C  LW  R25, 12(SP)
5447
0x9D003EDC      0x87BA0008  LH  R26, 8(SP)
5448
L_cmd_chip_read_id3:
5449
;CMD_ReadID.c, 16 ::            }
5450
L_end_cmd_chip_read_id:
5451
0x9D003EE0      0x8FBA0004  LW  R26, 4(SP)
5452
0x9D003EE4      0x8FBF0000  LW  RA, 0(SP)
5453
0x9D003EE8      0x03E00008  JR  RA
5454
0x9D003EEC      0x27BD0014  ADDIU       SP, SP, 20
5455
; end of _cmd_chip_read_id
5456
_nand_send_address:
5457
;NandControl.c, 121 ::          void nand_send_address(unsigned char* addr, int len)
5458
0x9D002994      0x27BDFFF0  ADDIU       SP, SP, -16
5459
0x9D002998      0xAFBF0000  SW  RA, 0(SP)
5460
;NandControl.c, 124 ::          ctrl_cle = 0;
5461
0x9D00299C      0xAFB90004  SW  R25, 4(SP)
5462
0x9D0029A0      0x34020080  ORI R2, R0, 0x0080
5463
0x9D0029A4      0x3C1EBF88  LUI R30, 49032
5464
0x9D0029A8      0xA3C26065  SB  R2, 24677(R30)
5465
;NandControl.c, 125 ::          ctrl_nre = 1;
5466
0x9D0029AC      0x34020010  ORI R2, R0, 0x0010
5467
0x9D0029B0      0x3C1EBF88  LUI R30, 49032
5468
0x9D0029B4      0xA3C260E8  SB  R2, 24808(R30)
5469
;NandControl.c, 126 ::          ctrl_ale = 1;
5470
0x9D0029B8      0x34020001  ORI R2, R0, 0x0001
5471
0x9D0029BC      0x3C1EBF88  LUI R30, 49032
5472
;NandControl.c, 127 ::          if(0 == addr)
5473
0x9D0029C0      0x1720000A  BNE R25, R0, L_nand_send_address11
5474
0x9D0029C4      0xA3C260E8  SB  R2, 24808(R30)
5475
L__nand_send_address45:
5476
;NandControl.c, 129 ::          data_line_write_byte(0);
5477
0x9D0029C8      0x0F40069B  JAL _data_line_write_byte+0
5478
0x9D0029CC      0x0000C80A  MOVZ        R25, R0, R0
5479
;NandControl.c, 130 ::          ctrl_nwe = 0;
5480
0x9D0029D0      0x34020001  ORI R2, R0, 0x0001
5481
0x9D0029D4      0x3C1EBF88  LUI R30, 49032
5482
0x9D0029D8      0xA3C26124  SB  R2, 24868(R30)
5483
;NandControl.c, 131 ::          ctrl_nwe = 1;
5484
0x9D0029DC      0x34020001  ORI R2, R0, 0x0001
5485
0x9D0029E0      0x3C1EBF88  LUI R30, 49032
5486
;NandControl.c, 132 ::          }
5487
0x9D0029E4      0x0B400A94  J   L_nand_send_address12
5488
0x9D0029E8      0xA3C26128  SB  R2, 24872(R30)
5489
L_nand_send_address11:
5490
;NandControl.c, 135 ::          for(i = 0; i < len; i++)
5491
; i start address is: 16 (R4)
5492
0x9D0029EC      0x0000200A  MOVZ        R4, R0, R0
5493
; i end address is: 16 (R4)
5494
L_nand_send_address13:
5495
; i start address is: 16 (R4)
5496
0x9D0029F0      0x7C041E20  SEH R3, R4
5497
0x9D0029F4      0x7C1A1620  SEH R2, R26
5498
0x9D0029F8      0x0062102A  SLT R2, R3, R2
5499
0x9D0029FC      0x10400014  BEQ R2, R0, L_nand_send_address14
5500
0x9D002A00      0x70000000  NOP
5501
L__nand_send_address46:
5502
;NandControl.c, 137 ::          data_line_write_byte(*(addr + i));
5503
0x9D002A04      0x7C041620  SEH R2, R4
5504
0x9D002A08      0x03221021  ADDU        R2, R25, R2
5505
0x9D002A0C      0xA7A40008  SH  R4, 8(SP)
5506
0x9D002A10      0xA7BA000A  SH  R26, 10(SP)
5507
0x9D002A14      0xAFB9000C  SW  R25, 12(SP)
5508
0x9D002A18      0x0F40069B  JAL _data_line_write_byte+0
5509
0x9D002A1C      0x90590000  LBU R25, 0(R2)
5510
0x9D002A20      0x8FB9000C  LW  R25, 12(SP)
5511
0x9D002A24      0x87BA000A  LH  R26, 10(SP)
5512
0x9D002A28      0x87A40008  LH  R4, 8(SP)
5513
;NandControl.c, 138 ::          ctrl_nwe = 0;
5514
0x9D002A2C      0x34020001  ORI R2, R0, 0x0001
5515
0x9D002A30      0x3C1EBF88  LUI R30, 49032
5516
0x9D002A34      0xA3C26124  SB  R2, 24868(R30)
5517
;NandControl.c, 139 ::          ctrl_nwe = 1;
5518
0x9D002A38      0x34020001  ORI R2, R0, 0x0001
5519
0x9D002A3C      0x3C1EBF88  LUI R30, 49032
5520
0x9D002A40      0xA3C26128  SB  R2, 24872(R30)
5521
;NandControl.c, 135 ::          for(i = 0; i < len; i++)
5522
0x9D002A44      0x24820001  ADDIU       R2, R4, 1
5523
;NandControl.c, 140 ::          }
5524
; i end address is: 16 (R4)
5525
0x9D002A48      0x0B400A7C  J   L_nand_send_address13
5526
0x9D002A4C      0x7C022620  SEH R4, R2
5527
L_nand_send_address14:
5528
;NandControl.c, 141 ::          }
5529
L_nand_send_address12:
5530
;NandControl.c, 142 ::          ctrl_ale = 0;
5531
0x9D002A50      0x34020001  ORI R2, R0, 0x0001
5532
0x9D002A54      0x3C1EBF88  LUI R30, 49032
5533
0x9D002A58      0xA3C260E4  SB  R2, 24804(R30)
5534
;NandControl.c, 143 ::          }
5535
L_end_nand_send_address:
5536
0x9D002A5C      0x8FB90004  LW  R25, 4(SP)
5537
0x9D002A60      0x8FBF0000  LW  RA, 0(SP)
5538
0x9D002A64      0x03E00008  JR  RA
5539
0x9D002A68      0x27BD0010  ADDIU       SP, SP, 16
5540
; end of _nand_send_address
5541
_nand_read:
5542
;NandControl.c, 159 ::          void nand_read(unsigned char* buffer, int len)
5543
0x9D0022DC      0x27BDFFF0  ADDIU       SP, SP, -16
5544
0x9D0022E0      0xAFBF0000  SW  RA, 0(SP)
5545
;NandControl.c, 162 ::          ctrl_cle = 0;
5546
0x9D0022E4      0x34020080  ORI R2, R0, 0x0080
5547
0x9D0022E8      0x3C1EBF88  LUI R30, 49032
5548
0x9D0022EC      0xA3C26065  SB  R2, 24677(R30)
5549
;NandControl.c, 163 ::          ctrl_ale = 0;
5550
0x9D0022F0      0x34020001  ORI R2, R0, 0x0001
5551
0x9D0022F4      0x3C1EBF88  LUI R30, 49032
5552
0x9D0022F8      0xA3C260E4  SB  R2, 24804(R30)
5553
;NandControl.c, 164 ::          ctrl_nwe = 1;
5554
0x9D0022FC      0x34020001  ORI R2, R0, 0x0001
5555
0x9D002300      0x3C1EBF88  LUI R30, 49032
5556
0x9D002304      0xA3C26128  SB  R2, 24872(R30)
5557
;NandControl.c, 165 ::          for(i = 0; i < len; i++)
5558
; i start address is: 16 (R4)
5559
0x9D002308      0x0000200A  MOVZ        R4, R0, R0
5560
; i end address is: 16 (R4)
5561
L_nand_read19:
5562
; i start address is: 16 (R4)
5563
0x9D00230C      0x7C041E20  SEH R3, R4
5564
0x9D002310      0x7C1A1620  SEH R2, R26
5565
0x9D002314      0x0062102A  SLT R2, R3, R2
5566
0x9D002318      0x10400025  BEQ R2, R0, L_nand_read20
5567
0x9D00231C      0x70000000  NOP
5568
L__nand_read50:
5569
;NandControl.c, 167 ::          ctrl_nre = 0;
5570
0x9D002320      0x34020010  ORI R2, R0, 0x0010
5571
0x9D002324      0x3C1EBF88  LUI R30, 49032
5572
0x9D002328      0xA3C260E4  SB  R2, 24804(R30)
5573
; i end address is: 16 (R4)
5574
;NandControl.c, 168 ::          while(PORTD.B4 != 0);
5575
L_nand_read22:
5576
; i start address is: 16 (R4)
5577
0x9D00232C      0x3C1EBF88  LUI R30, 49032
5578
0x9D002330      0x93C260D0  LBU R2, 24784(R30)
5579
0x9D002334      0x7C420100  EXT R2, R2, 4, 1
5580
0x9D002338      0x10400003  BEQ R2, R0, L_nand_read23
5581
0x9D00233C      0x70000000  NOP
5582
L__nand_read52:
5583
0x9D002340      0x0B4008CB  J   L_nand_read22
5584
0x9D002344      0x70000000  NOP
5585
L_nand_read23:
5586
;NandControl.c, 169 ::          *(buffer + i) = data_line_read_byte();
5587
0x9D002348      0x7C041620  SEH R2, R4
5588
0x9D00234C      0x03221021  ADDU        R2, R25, R2
5589
0x9D002350      0xAFA2000C  SW  R2, 12(SP)
5590
0x9D002354      0xA7A40004  SH  R4, 4(SP)
5591
0x9D002358      0xA7BA0006  SH  R26, 6(SP)
5592
0x9D00235C      0x0F40062C  JAL _data_line_read_byte+0
5593
0x9D002360      0xAFB90008  SW  R25, 8(SP)
5594
0x9D002364      0x8FB90008  LW  R25, 8(SP)
5595
0x9D002368      0x87BA0006  LH  R26, 6(SP)
5596
0x9D00236C      0x87A40004  LH  R4, 4(SP)
5597
0x9D002370      0x8FA3000C  LW  R3, 12(SP)
5598
0x9D002374      0xA0620000  SB  R2, 0(R3)
5599
;NandControl.c, 170 ::          ctrl_nre = 1;
5600
0x9D002378      0x34020010  ORI R2, R0, 0x0010
5601
0x9D00237C      0x3C1EBF88  LUI R30, 49032
5602
0x9D002380      0xA3C260E8  SB  R2, 24808(R30)
5603
; i end address is: 16 (R4)
5604
0x9D002384      0x7C041E20  SEH R3, R4
5605
;NandControl.c, 171 ::          while(PORTD.B4 != 1);
5606
L_nand_read24:
5607
; i start address is: 12 (R3)
5608
0x9D002388      0x3C1EBF88  LUI R30, 49032
5609
0x9D00238C      0x93C260D0  LBU R2, 24784(R30)
5610
0x9D002390      0x7C420100  EXT R2, R2, 4, 1
5611
0x9D002394      0x14400003  BNE R2, 1, L_nand_read25
5612
0x9D002398      0x70000000  NOP
5613
L__nand_read53:
5614
0x9D00239C      0x0B4008E2  J   L_nand_read24
5615
0x9D0023A0      0x70000000  NOP
5616
L_nand_read25:
5617
;NandControl.c, 165 ::          for(i = 0; i < len; i++)
5618
0x9D0023A4      0x24620001  ADDIU       R2, R3, 1
5619
; i end address is: 12 (R3)
5620
; i start address is: 16 (R4)
5621
;NandControl.c, 172 ::          }
5622
; i end address is: 16 (R4)
5623
0x9D0023A8      0x0B4008C3  J   L_nand_read19
5624
0x9D0023AC      0x7C022620  SEH R4, R2
5625
L_nand_read20:
5626
;NandControl.c, 173 ::          }
5627
L_end_nand_read:
5628
0x9D0023B0      0x8FBF0000  LW  RA, 0(SP)
5629
0x9D0023B4      0x03E00008  JR  RA
5630
0x9D0023B8      0x27BD0010  ADDIU       SP, SP, 16
5631
; end of _nand_read
5632
_data_line_read_byte:
5633
;NandDataLine.c, 61 ::          unsigned char data_line_read_byte()
5634
;NandDataLine.c, 63 ::          unsigned char d = 0;
5635
; d start address is: 16 (R4)
5636
0x9D0018B0      0x0000200A  MOVZ        R4, R0, R0
5637
;NandDataLine.c, 64 ::          if(data_line_last_op != NAND_LAST_OP_READ)
5638
0x9D0018B4      0x8422804C  LH  R2, Offset(_data_line_last_op+0)(GP)
5639
0x9D0018B8      0x1040001A  BEQ R2, R0, L_data_line_read_byte1
5640
0x9D0018BC      0x70000000  NOP
5641
L__data_line_read_byte8:
5642
;NandDataLine.c, 66 ::          TRISE2_bit = 1; TRISE3_bit = 1; TRISE4_bit = 1; TRISE5_bit = 1;
5643
0x9D0018C0      0x34020004  ORI R2, R0, 0x0004
5644
0x9D0018C4      0x3C1EBF88  LUI R30, 49032
5645
0x9D0018C8      0xA3C26108  SB  R2, 24840(R30)
5646
0x9D0018CC      0x34020008  ORI R2, R0, 0x0008
5647
0x9D0018D0      0x3C1EBF88  LUI R30, 49032
5648
0x9D0018D4      0xA3C26108  SB  R2, 24840(R30)
5649
0x9D0018D8      0x34020010  ORI R2, R0, 0x0010
5650
0x9D0018DC      0x3C1EBF88  LUI R30, 49032
5651
0x9D0018E0      0xA3C26108  SB  R2, 24840(R30)
5652
0x9D0018E4      0x34020020  ORI R2, R0, 0x0020
5653
0x9D0018E8      0x3C1EBF88  LUI R30, 49032
5654
0x9D0018EC      0xA3C26108  SB  R2, 24840(R30)
5655
;NandDataLine.c, 67 ::          TRISF4_bit = 1; TRISF5_bit = 1;
5656
0x9D0018F0      0x34020010  ORI R2, R0, 0x0010
5657
0x9D0018F4      0x3C1EBF88  LUI R30, 49032
5658
0x9D0018F8      0xA3C26148  SB  R2, 24904(R30)
5659
0x9D0018FC      0x34020020  ORI R2, R0, 0x0020
5660
0x9D001900      0x3C1EBF88  LUI R30, 49032
5661
0x9D001904      0xA3C26148  SB  R2, 24904(R30)
5662
;NandDataLine.c, 68 ::          TRISG7_bit = 1; TRISG8_bit = 1;
5663
0x9D001908      0x34020080  ORI R2, R0, 0x0080
5664
0x9D00190C      0x3C1EBF88  LUI R30, 49032
5665
0x9D001910      0xA3C26188  SB  R2, 24968(R30)
5666
0x9D001914      0x34020001  ORI R2, R0, 0x0001
5667
0x9D001918      0x3C1EBF88  LUI R30, 49032
5668
0x9D00191C      0xA3C26189  SB  R2, 24969(R30)
5669
;NandDataLine.c, 69 ::          data_line_last_op = NAND_LAST_OP_READ;
5670
0x9D001920      0xA420804C  SH  R0, Offset(_data_line_last_op+0)(GP)
5671
;NandDataLine.c, 70 ::          }
5672
L_data_line_read_byte1:
5673
;NandDataLine.c, 71 ::          d |= (unsigned char)PORTE.B2;//nand_b0;
5674
0x9D001924      0x3C1EBF88  LUI R30, 49032
5675
0x9D001928      0x93C26110  LBU R2, 24848(R30)
5676
0x9D00192C      0x7C420080  EXT R2, R2, 2, 1
5677
0x9D001930      0x00821825  OR  R3, R4, R2
5678
; d end address is: 16 (R4)
5679
;NandDataLine.c, 72 ::          d |= ((unsigned char)PORTE.B3 << 1);//nand_b1 << 1);
5680
0x9D001934      0x3C1EBF88  LUI R30, 49032
5681
0x9D001938      0x93C26110  LBU R2, 24848(R30)
5682
0x9D00193C      0x7C4200C0  EXT R2, R2, 3, 1
5683
0x9D001940      0x304200FF  ANDI        R2, R2, 255
5684
0x9D001944      0x00021040  SLL R2, R2, 1
5685
0x9D001948      0x00621825  OR  R3, R3, R2
5686
;NandDataLine.c, 73 ::          d |= ((unsigned char)PORTG.B7 << 2);//nand_b2 << 2);
5687
0x9D00194C      0x3C1EBF88  LUI R30, 49032
5688
0x9D001950      0x93C26190  LBU R2, 24976(R30)
5689
0x9D001954      0x7C4201C0  EXT R2, R2, 7, 1
5690
0x9D001958      0x304200FF  ANDI        R2, R2, 255
5691
0x9D00195C      0x00021080  SLL R2, R2, 2
5692
0x9D001960      0x00621825  OR  R3, R3, R2
5693
;NandDataLine.c, 74 ::          d |= ((unsigned char)PORTG.B8 << 3);//nand_b3 << 3);
5694
0x9D001964      0x3C1EBF88  LUI R30, 49032
5695
0x9D001968      0x93C26191  LBU R2, 24977(R30)
5696
0x9D00196C      0x7C420000  EXT R2, R2, 0, 1
5697
0x9D001970      0x304200FF  ANDI        R2, R2, 255
5698
0x9D001974      0x000210C0  SLL R2, R2, 3
5699
0x9D001978      0x00621825  OR  R3, R3, R2
5700
;NandDataLine.c, 75 ::          d |= ((unsigned char)PORTF.B5 << 4);//nand_b4 << 4);
5701
0x9D00197C      0x3C1EBF88  LUI R30, 49032
5702
0x9D001980      0x93C26150  LBU R2, 24912(R30)
5703
0x9D001984      0x7C420140  EXT R2, R2, 5, 1
5704
0x9D001988      0x304200FF  ANDI        R2, R2, 255
5705
0x9D00198C      0x00021100  SLL R2, R2, 4
5706
0x9D001990      0x00621825  OR  R3, R3, R2
5707
;NandDataLine.c, 76 ::          d |= ((unsigned char)PORTF.B4 << 5);//nand_b5 << 5);
5708
0x9D001994      0x3C1EBF88  LUI R30, 49032
5709
0x9D001998      0x93C26150  LBU R2, 24912(R30)
5710
0x9D00199C      0x7C420100  EXT R2, R2, 4, 1
5711
0x9D0019A0      0x304200FF  ANDI        R2, R2, 255
5712
0x9D0019A4      0x00021140  SLL R2, R2, 5
5713
0x9D0019A8      0x00621825  OR  R3, R3, R2
5714
;NandDataLine.c, 77 ::          d |= ((unsigned char)PORTE.B4 << 6);//nand_b6 << 6);
5715
0x9D0019AC      0x3C1EBF88  LUI R30, 49032
5716
0x9D0019B0      0x93C26110  LBU R2, 24848(R30)
5717
0x9D0019B4      0x7C420100  EXT R2, R2, 4, 1
5718
0x9D0019B8      0x304200FF  ANDI        R2, R2, 255
5719
0x9D0019BC      0x00021180  SLL R2, R2, 6
5720
0x9D0019C0      0x00621825  OR  R3, R3, R2
5721
;NandDataLine.c, 78 ::          d |= ((unsigned char)PORTE.B5 << 7);//nand_b7 << 7);
5722
0x9D0019C4      0x3C1EBF88  LUI R30, 49032
5723
0x9D0019C8      0x93C26110  LBU R2, 24848(R30)
5724
0x9D0019CC      0x7C420140  EXT R2, R2, 5, 1
5725
0x9D0019D0      0x304200FF  ANDI        R2, R2, 255
5726
0x9D0019D4      0x000211C0  SLL R2, R2, 7
5727
0x9D0019D8      0x00621025  OR  R2, R3, R2
5728
;NandDataLine.c, 79 ::          return d;
5729
;NandDataLine.c, 80 ::          }
5730
L_end_data_line_read_byte:
5731
0x9D0019DC      0x03E00008  JR  RA
5732
0x9D0019E0      0x70000000  NOP
5733
; end of _data_line_read_byte
5734
_HID_Write:
5735
;__Lib_USB.c, 5460 ::
5736
0x9D004164      0x27BDFFF8  ADDIU       SP, SP, -8
5737
0x9D004168      0xAFBF0000  SW  RA, 0(SP)
5738
;__Lib_USB.c, 5461 ::
5739
0x9D00416C      0xAFBB0004  SW  R27, 4(SP)
5740
0x9D004170      0x0F4008EF  JAL _Gen_Write+0
5741
0x9D004174      0x341B0001  ORI R27, R0, 1
5742
;__Lib_USB.c, 5462 ::
5743
;__Lib_USB.c, 5461 ::
5744
;__Lib_USB.c, 5462 ::
5745
L_end_HID_Write:
5746
0x9D004178      0x8FBB0004  LW  R27, 4(SP)
5747
0x9D00417C      0x8FBF0000  LW  RA, 0(SP)
5748
0x9D004180      0x03E00008  JR  RA
5749
0x9D004184      0x27BD0008  ADDIU       SP, SP, 8
5750
; end of _HID_Write
5751
_Gen_Write:
5752
;__Lib_USB.c, 5395 ::
5753
0x9D0023BC      0x27BDFFE4  ADDIU       SP, SP, -28
5754
0x9D0023C0      0xAFBF0000  SW  RA, 0(SP)
5755
;__Lib_USB.c, 5397 ::
5756
0x9D0023C4      0xAFB90004  SW  R25, 4(SP)
5757
0x9D0023C8      0xAFBA0008  SW  R26, 8(SP)
5758
0x9D0023CC      0xAFBB000C  SW  R27, 12(SP)
5759
0x9D0023D0      0xAFBC0010  SW  R28, 16(SP)
5760
0x9D0023D4      0x9022ABF5  LBU R2, Offset(__Lib_USB_USBDeviceState+0)(GP)
5761
0x9D0023D8      0x2C420020  SLTIU       R2, R2, 32
5762
0x9D0023DC      0x14400008  BNE R2, R0, L__Gen_Write303
5763
0x9D0023E0      0x70000000  NOP
5764
L__Gen_Write585:
5765
0x9D0023E4      0x3C1EBF88  LUI R30, 49032
5766
0x9D0023E8      0x83C25080  LB  R2, 20608(R30)
5767
0x9D0023EC      0x7C420040  EXT R2, R2, 1, 1
5768
0x9D0023F0      0x14400003  BNE R2, 1, L__Gen_Write302
5769
0x9D0023F4      0x70000000  NOP
5770
L__Gen_Write586:
5771
0x9D0023F8      0x0B400902  J   L_Gen_Write241
5772
0x9D0023FC      0x70000000  NOP
5773
L__Gen_Write303:
5774
L__Gen_Write302:
5775
;__Lib_USB.c, 5398 ::
5776
0x9D002400      0x0B400931  J   L_end_Gen_Write
5777
0x9D002404      0x0000100A  MOVZ        R2, R0, R0
5778
;__Lib_USB.c, 5399 ::
5779
L_Gen_Write241:
5780
;__Lib_USB.c, 5400 ::
5781
0x9D002408      0xAFB90014  SW  R25, 20(SP)
5782
0x9D00240C      0x0F4006FC  JAL __Lib_USB_USB_Handle_Busy+0
5783
0x9D002410      0x8C39ACEC  LW  R25, Offset(__Lib_USB_USB_In_Handle+0)(GP)
5784
0x9D002414      0x1440002A  BNE R2, R0, L_Gen_Write242
5785
0x9D002418      0x8FB90014  LW  R25, 20(SP)
5786
L__Gen_Write587:
5787
;__Lib_USB.c, 5401 ::
5788
0x9D00241C      0xA3BB0014  SB  R27, 20(SP)
5789
0x9D002420      0x335C00FF  ANDI        R28, R26, 255
5790
0x9D002424      0x341A0001  ORI R26, R0, 1
5791
0x9D002428      0x0320D80A  MOVZ        R27, R25, R0
5792
0x9D00242C      0x0F4001BB  JAL __Lib_USB_USB_Transfer_Packet+0
5793
0x9D002430      0x93B90014  LBU R25, 20(SP)
5794
0x9D002434      0xAC22ACEC  SW  R2, Offset(__Lib_USB_USB_In_Handle+0)(GP)
5795
;__Lib_USB.c, 5402 ::
5796
0x9D002438      0xAC20ACE8  SW  R0, Offset(__Lib_USB__USB_Stop_Waiting+0)(GP)
5797
;__Lib_USB.c, 5403 ::
5798
L_Gen_Write243:
5799
0x9D00243C      0xAFB90014  SW  R25, 20(SP)
5800
0x9D002440      0x0F4006FC  JAL __Lib_USB_USB_Handle_Busy+0
5801
0x9D002444      0x8C39ACEC  LW  R25, Offset(__Lib_USB_USB_In_Handle+0)(GP)
5802
0x9D002448      0x10400013  BEQ R2, R0, L_Gen_Write244
5803
0x9D00244C      0x8FB90014  LW  R25, 20(SP)
5804
L__Gen_Write589:
5805
;__Lib_USB.c, 5404 ::
5806
0x9D002450      0x0000180A  MOVZ        R3, R0, R0
5807
0x9D002454      0x34020000  ORI R2, R0, 0
5808
0x9D002458      0x14620008  BNE R3, R2, L_Gen_Write245
5809
0x9D00245C      0x70000000  NOP
5810
L__Gen_Write590:
5811
;__Lib_USB.c, 5405 ::
5812
0x9D002460      0xA3BB0014  SB  R27, 20(SP)
5813
0x9D002464      0xA3BA0015  SB  R26, 21(SP)
5814
0x9D002468      0x0F400FE8  JAL _USB_Polling_Proc+0
5815
0x9D00246C      0xAFB90018  SW  R25, 24(SP)
5816
0x9D002470      0x8FB90018  LW  R25, 24(SP)
5817
0x9D002474      0x93BA0015  LBU R26, 21(SP)
5818
0x9D002478      0x93BB0014  LBU R27, 20(SP)
5819
L_Gen_Write245:
5820
;__Lib_USB.c, 5406 ::
5821
0x9D00247C      0x8C22ACE8  LW  R2, Offset(__Lib_USB__USB_Stop_Waiting+0)(GP)
5822
0x9D002480      0x10400003  BEQ R2, R0, L_Gen_Write246
5823
0x9D002484      0x70000000  NOP
5824
L__Gen_Write592:
5825
;__Lib_USB.c, 5407 ::
5826
0x9D002488      0x0B400931  J   L_end_Gen_Write
5827
0x9D00248C      0x0000100A  MOVZ        R2, R0, R0
5828
L_Gen_Write246:
5829
;__Lib_USB.c, 5408 ::
5830
0x9D002490      0x0B40090F  J   L_Gen_Write243
5831
0x9D002494      0x70000000  NOP
5832
L_Gen_Write244:
5833
;__Lib_USB.c, 5409 ::
5834
; handle start address is: 12 (R3)
5835
0x9D002498      0x8C23ACEC  LW  R3, Offset(__Lib_USB_USB_In_Handle+0)(GP)
5836
;__Lib_USB.c, 5410 ::
5837
0x9D00249C      0x8C22ACEC  LW  R2, Offset(__Lib_USB_USB_In_Handle+0)(GP)
5838
0x9D0024A0      0x10400005  BEQ R2, R0, L_Gen_Write247
5839
0x9D0024A4      0x70000000  NOP
5840
L__Gen_Write594:
5841
;__Lib_USB.c, 5411 ::
5842
0x9D0024A8      0x24620002  ADDIU       R2, R3, 2
5843
; handle end address is: 12 (R3)
5844
0x9D0024AC      0x94420000  LHU R2, 0(R2)
5845
0x9D0024B0      0x0B400931  J   L_end_Gen_Write
5846
0x9D0024B4      0x7C424800  EXT R2, R2, 0, 10
5847
L_Gen_Write247:
5848
;__Lib_USB.c, 5413 ::
5849
0x9D0024B8      0x0B400931  J   L_end_Gen_Write
5850
0x9D0024BC      0x0000100A  MOVZ        R2, R0, R0
5851
;__Lib_USB.c, 5414 ::
5852
L_Gen_Write242:
5853
;__Lib_USB.c, 5415 ::
5854
0x9D0024C0      0x0000100A  MOVZ        R2, R0, R0
5855
;__Lib_USB.c, 5416 ::
5856
;__Lib_USB.c, 5415 ::
5857
;__Lib_USB.c, 5416 ::
5858
L_end_Gen_Write:
5859
0x9D0024C4      0x8FBC0010  LW  R28, 16(SP)
5860
0x9D0024C8      0x8FBB000C  LW  R27, 12(SP)
5861
0x9D0024CC      0x8FBA0008  LW  R26, 8(SP)
5862
0x9D0024D0      0x8FB90004  LW  R25, 4(SP)
5863
0x9D0024D4      0x8FBF0000  LW  RA, 0(SP)
5864
0x9D0024D8      0x03E00008  JR  RA
5865
0x9D0024DC      0x27BD001C  ADDIU       SP, SP, 28
5866
; end of _Gen_Write
5867
_Malloc:
5868
;__Lib_MemManager.c, 198 ::             void *Malloc(unsigned long Size) {
5869
0x9D004188      0x27BDFFF8  ADDIU       SP, SP, -8
5870
0x9D00418C      0xAFBF0000  SW  RA, 0(SP)
5871
;__Lib_MemManager.c, 202 ::             alignment = 1;
5872
0x9D004190      0xAFBA0004  SW  R26, 4(SP)
5873
; alignment start address is: 12 (R3)
5874
0x9D004194      0x34030001  ORI R3, R0, 1
5875
;__Lib_MemManager.c, 203 ::             if (Size >= 4)
5876
0x9D004198      0x2F220004  SLTIU       R2, R25, 4
5877
0x9D00419C      0x14400003  BNE R2, R0, L_Malloc58
5878
0x9D0041A0      0x70000000  NOP
5879
L__Malloc161:
5880
; alignment end address is: 12 (R3)
5881
;__Lib_MemManager.c, 204 ::             alignment = 4;
5882
; alignment start address is: 32 (R8)
5883
; alignment end address is: 32 (R8)
5884
0x9D0041A4      0x0B401072  J   L_Malloc59
5885
0x9D0041A8      0x34080004  ORI R8, R0, 4
5886
L_Malloc58:
5887
;__Lib_MemManager.c, 205 ::             else if (Size == 2)
5888
; alignment start address is: 12 (R3)
5889
0x9D0041AC      0x34020002  ORI R2, R0, 2
5890
0x9D0041B0      0x17220004  BNE R25, R2, L__Malloc107
5891
0x9D0041B4      0x70000000  NOP
5892
L__Malloc162:
5893
; alignment end address is: 12 (R3)
5894
;__Lib_MemManager.c, 206 ::             alignment = 2;
5895
; alignment start address is: 8 (R2)
5896
0x9D0041B8      0x34020002  ORI R2, R0, 2
5897
; alignment end address is: 8 (R2)
5898
0x9D0041BC      0x0B401072  J   L_Malloc60
5899
0x9D0041C0      0x304800FF  ANDI        R8, R2, 255
5900
L__Malloc107:
5901
;__Lib_MemManager.c, 205 ::             else if (Size == 2)
5902
0x9D0041C4      0x306800FF  ANDI        R8, R3, 255
5903
;__Lib_MemManager.c, 206 ::             alignment = 2;
5904
L_Malloc60:
5905
; alignment start address is: 32 (R8)
5906
; alignment end address is: 32 (R8)
5907
L_Malloc59:
5908
;__Lib_MemManager.c, 208 ::             P = MM_GetMemAlign(Size, alignment);
5909
; alignment start address is: 32 (R8)
5910
0x9D0041C8      0x0F400938  JAL __Lib_MemManager_MM_GetMemAlign+0
5911
0x9D0041CC      0x311A00FF  ANDI        R26, R8, 255
5912
; P start address is: 12 (R3)
5913
;__Lib_MemManager.c, 209 ::             if ((P == NULL) && (MM_PossiblyFragmented)) {// try again after defragmentation
5914
0x9D0041D0      0x1440000A  BNE R2, R0, L__Malloc108
5915
0x9D0041D4      0x0040180A  MOVZ        R3, R2, R0
5916
L__Malloc163:
5917
0x9D0041D8      0x9022ABEF  LBU R2, Offset(_MM_PossiblyFragmented+0)(GP)
5918
0x9D0041DC      0x10400009  BEQ R2, R0, L__Malloc109
5919
0x9D0041E0      0x70000000  NOP
5920
L__Malloc165:
5921
; P end address is: 12 (R3)
5922
L__Malloc104:
5923
;__Lib_MemManager.c, 210 ::             MM_Defragment();
5924
0x9D0041E4      0x0F400A9B  JAL __Lib_MemManager_MM_Defragment+0
5925
0x9D0041E8      0x70000000  NOP
5926
;__Lib_MemManager.c, 211 ::             P = MM_GetMemAlign(Size, alignment);
5927
; alignment end address is: 32 (R8)
5928
0x9D0041EC      0x0F400938  JAL __Lib_MemManager_MM_GetMemAlign+0
5929
0x9D0041F0      0x311A00FF  ANDI        R26, R8, 255
5930
; P start address is: 12 (R3)
5931
; P end address is: 12 (R3)
5932
;__Lib_MemManager.c, 209 ::             if ((P == NULL) && (MM_PossiblyFragmented)) {// try again after defragmentation
5933
0x9D0041F4      0x0B40107F  J   L__Malloc106
5934
0x9D0041F8      0x0040180A  MOVZ        R3, R2, R0
5935
L__Malloc108:
5936
L__Malloc106:
5937
; P start address is: 12 (R3)
5938
; P end address is: 12 (R3)
5939
0x9D0041FC      0x0B401081  J   L__Malloc105
5940
0x9D004200      0x70000000  NOP
5941
L__Malloc109:
5942
L__Malloc105:
5943
;__Lib_MemManager.c, 213 ::             return P;
5944
; P start address is: 12 (R3)
5945
0x9D004204      0x0060100A  MOVZ        R2, R3, R0
5946
; P end address is: 12 (R3)
5947
;__Lib_MemManager.c, 214 ::             }
5948
;__Lib_MemManager.c, 213 ::             return P;
5949
;__Lib_MemManager.c, 214 ::             }
5950
L_end_Malloc:
5951
0x9D004208      0x8FBA0004  LW  R26, 4(SP)
5952
0x9D00420C      0x8FBF0000  LW  RA, 0(SP)
5953
0x9D004210      0x03E00008  JR  RA
5954
0x9D004214      0x27BD0008  ADDIU       SP, SP, 8
5955
; end of _Malloc
5956
__Lib_MemManager_MM_GetMemAlign:
5957
;__Lib_MemManager.c, 105 ::             static void *MM_GetMemAlign(unsigned long Size, char alignment) {
5958
0x9D0024E0      0x27BDFFF8  ADDIU       SP, SP, -8
5959
;__Lib_MemManager.c, 111 ::             P = NULL; // nil in case no large enough memory is available
5960
; P start address is: 20 (R5)
5961
0x9D0024E4      0x0000280A  MOVZ        R5, R0, R0
5962
;__Lib_MemManager.c, 113 ::             if (MM_Error_)
5963
0x9D0024E8      0x9022ABF4  LBU R2, Offset(_MM_Error_+0)(GP)
5964
0x9D0024EC      0x10400003  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign27
5965
0x9D0024F0      0x70000000  NOP
5966
L___Lib_MemManager_MM_GetMemAlign137:
5967
;__Lib_MemManager.c, 114 ::             return P;
5968
; P end address is: 20 (R5)
5969
0x9D0024F4      0x0B400A5E  J   L_end_MM_GetMemAlign
5970
0x9D0024F8      0x00A0100A  MOVZ        R2, R5, R0
5971
L___Lib_MemManager_MM_GetMemAlign27:
5972
;__Lib_MemManager.c, 117 ::             for(i=0; i < NR_FREE_BLOCKS; i++) {
5973
; i start address is: 16 (R4)
5974
; P start address is: 20 (R5)
5975
0x9D0024FC      0x0000200A  MOVZ        R4, R0, R0
5976
; P end address is: 20 (R5)
5977
; i end address is: 16 (R4)
5978
L___Lib_MemManager_MM_GetMemAlign28:
5979
; i start address is: 16 (R4)
5980
; P start address is: 20 (R5)
5981
0x9D002500      0x308200FF  ANDI        R2, R4, 255
5982
0x9D002504      0x28420014  SLTI        R2, R2, 20
5983
0x9D002508      0x1040005F  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign29
5984
0x9D00250C      0x70000000  NOP
5985
L___Lib_MemManager_MM_GetMemAlign138:
5986
;__Lib_MemManager.c, 118 ::             tryIt = 1;
5987
; tryIt start address is: 24 (R6)
5988
0x9D002510      0x34060001  ORI R6, R0, 1
5989
;__Lib_MemManager.c, 119 ::             if (alignment > 1)
5990
0x9D002514      0x334200FF  ANDI        R2, R26, 255
5991
0x9D002518      0x2C420002  SLTIU       R2, R2, 2
5992
0x9D00251C      0x14400011  BNE R2, R0, L___Lib_MemManager_MM_GetMemAlign100
5993
0x9D002520      0x70000000  NOP
5994
L___Lib_MemManager_MM_GetMemAlign139:
5995
;__Lib_MemManager.c, 120 ::             if ((unsigned long)MM_FreeMemTable[i].Pointer % alignment != 0)
5996
0x9D002524      0x308200FF  ANDI        R2, R4, 255
5997
0x9D002528      0x000218C0  SLL R3, R2, 3
5998
0x9D00252C      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
5999
0x9D002530      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6000
0x9D002534      0x00431021  ADDU        R2, R2, R3
6001
0x9D002538      0x8C430000  LW  R3, 0(R2)
6002
0x9D00253C      0x334200FF  ANDI        R2, R26, 255
6003
0x9D002540      0x0062001B  DIVU        R3, R2
6004
0x9D002544      0x00001010  MFHI        R2
6005
0x9D002548      0x10400003  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign99
6006
0x9D00254C      0x70000000  NOP
6007
L___Lib_MemManager_MM_GetMemAlign141:
6008
; tryIt end address is: 24 (R6)
6009
;__Lib_MemManager.c, 121 ::             tryIt = 0;
6010
; tryIt start address is: 8 (R2)
6011
; tryIt end address is: 8 (R2)
6012
0x9D002550      0x0B400957  J   L___Lib_MemManager_MM_GetMemAlign32
6013
0x9D002554      0x0000100A  MOVZ        R2, R0, R0
6014
L___Lib_MemManager_MM_GetMemAlign99:
6015
;__Lib_MemManager.c, 120 ::             if ((unsigned long)MM_FreeMemTable[i].Pointer % alignment != 0)
6016
0x9D002558      0x30C200FF  ANDI        R2, R6, 255
6017
;__Lib_MemManager.c, 121 ::             tryIt = 0;
6018
L___Lib_MemManager_MM_GetMemAlign32:
6019
; tryIt start address is: 8 (R2)
6020
; tryIt end address is: 8 (R2)
6021
0x9D00255C      0x0B40095A  J   L___Lib_MemManager_MM_GetMemAlign31
6022
0x9D002560      0x70000000  NOP
6023
L___Lib_MemManager_MM_GetMemAlign100:
6024
;__Lib_MemManager.c, 119 ::             if (alignment > 1)
6025
0x9D002564      0x30C200FF  ANDI        R2, R6, 255
6026
;__Lib_MemManager.c, 121 ::             tryIt = 0;
6027
L___Lib_MemManager_MM_GetMemAlign31:
6028
;__Lib_MemManager.c, 123 ::             if (tryIt)
6029
; tryIt start address is: 8 (R2)
6030
0x9D002568      0x10400044  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign33
6031
0x9D00256C      0x70000000  NOP
6032
L___Lib_MemManager_MM_GetMemAlign143:
6033
; tryIt end address is: 8 (R2)
6034
;__Lib_MemManager.c, 124 ::             if ((MM_FreeMemTable[i].Pointer > 0) && (MM_FreeMemTable[i].Size >= Size)) { // there is some free memory
6035
0x9D002570      0x308200FF  ANDI        R2, R4, 255
6036
0x9D002574      0x000218C0  SLL R3, R2, 3
6037
0x9D002578      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6038
0x9D00257C      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6039
0x9D002580      0x00431021  ADDU        R2, R2, R3
6040
0x9D002584      0x8C420000  LW  R2, 0(R2)
6041
0x9D002588      0x2C420001  SLTIU       R2, R2, 1
6042
0x9D00258C      0x1440003B  BNE R2, R0, L___Lib_MemManager_MM_GetMemAlign98
6043
0x9D002590      0x70000000  NOP
6044
L___Lib_MemManager_MM_GetMemAlign144:
6045
0x9D002594      0x308200FF  ANDI        R2, R4, 255
6046
0x9D002598      0x000218C0  SLL R3, R2, 3
6047
0x9D00259C      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6048
0x9D0025A0      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6049
0x9D0025A4      0x00431021  ADDU        R2, R2, R3
6050
0x9D0025A8      0x24420004  ADDIU       R2, R2, 4
6051
0x9D0025AC      0x8C420000  LW  R2, 0(R2)
6052
0x9D0025B0      0x0059102B  SLTU        R2, R2, R25
6053
0x9D0025B4      0x14400031  BNE R2, R0, L___Lib_MemManager_MM_GetMemAlign97
6054
0x9D0025B8      0x70000000  NOP
6055
L___Lib_MemManager_MM_GetMemAlign145:
6056
; P end address is: 20 (R5)
6057
L___Lib_MemManager_MM_GetMemAlign96:
6058
;__Lib_MemManager.c, 125 ::             P = MM_FreeMemTable[i].Pointer; // pointer to memory block that will be given
6059
0x9D0025BC      0x308200FF  ANDI        R2, R4, 255
6060
0x9D0025C0      0x000218C0  SLL R3, R2, 3
6061
0x9D0025C4      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6062
0x9D0025C8      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6063
0x9D0025CC      0x00431821  ADDU        R3, R2, R3
6064
0x9D0025D0      0x8C620000  LW  R2, 0(R3)
6065
; P start address is: 20 (R5)
6066
0x9D0025D4      0x0040280A  MOVZ        R5, R2, R0
6067
;__Lib_MemManager.c, 128 ::             if (MM_FreeMemTable[i].Size > Size) {
6068
0x9D0025D8      0x24620004  ADDIU       R2, R3, 4
6069
0x9D0025DC      0x8C420000  LW  R2, 0(R2)
6070
0x9D0025E0      0x0322102B  SLTU        R2, R25, R2
6071
0x9D0025E4      0x10400013  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign37
6072
0x9D0025E8      0x70000000  NOP
6073
L___Lib_MemManager_MM_GetMemAlign146:
6074
;__Lib_MemManager.c, 129 ::             MM_FreeMemTable[i].Pointer = MM_FreeMemTable[i].Pointer + Size;
6075
0x9D0025EC      0x308200FF  ANDI        R2, R4, 255
6076
0x9D0025F0      0x000218C0  SLL R3, R2, 3
6077
0x9D0025F4      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6078
0x9D0025F8      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6079
0x9D0025FC      0x00431821  ADDU        R3, R2, R3
6080
0x9D002600      0x8C620000  LW  R2, 0(R3)
6081
0x9D002604      0x00591021  ADDU        R2, R2, R25
6082
0x9D002608      0xAC620000  SW  R2, 0(R3)
6083
;__Lib_MemManager.c, 130 ::             MM_FreeMemTable[i].Size    = MM_FreeMemTable[i].Size    - Size;
6084
0x9D00260C      0x308200FF  ANDI        R2, R4, 255
6085
; i end address is: 16 (R4)
6086
0x9D002610      0x000218C0  SLL R3, R2, 3
6087
0x9D002614      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6088
0x9D002618      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6089
0x9D00261C      0x00431021  ADDU        R2, R2, R3
6090
0x9D002620      0x24430004  ADDIU       R3, R2, 4
6091
0x9D002624      0x8C620000  LW  R2, 0(R3)
6092
0x9D002628      0x00591023  SUBU        R2, R2, R25
6093
;__Lib_MemManager.c, 131 ::             } else { // nothing remains of the free block, discard it
6094
0x9D00262C      0x0B40099D  J   L___Lib_MemManager_MM_GetMemAlign38
6095
0x9D002630      0xAC620000  SW  R2, 0(R3)
6096
L___Lib_MemManager_MM_GetMemAlign37:
6097
;__Lib_MemManager.c, 132 ::             MM_FreeMemTable[i].Pointer = NULL;
6098
; i start address is: 16 (R4)
6099
0x9D002634      0x308200FF  ANDI        R2, R4, 255
6100
0x9D002638      0x000218C0  SLL R3, R2, 3
6101
0x9D00263C      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6102
0x9D002640      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6103
0x9D002644      0x00431021  ADDU        R2, R2, R3
6104
0x9D002648      0xAC400000  SW  R0, 0(R2)
6105
;__Lib_MemManager.c, 133 ::             MM_FreeMemTable[i].Size    = 0;
6106
0x9D00264C      0x308200FF  ANDI        R2, R4, 255
6107
; i end address is: 16 (R4)
6108
0x9D002650      0x000218C0  SLL R3, R2, 3
6109
0x9D002654      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6110
0x9D002658      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6111
0x9D00265C      0x00431021  ADDU        R2, R2, R3
6112
0x9D002660      0x24420004  ADDIU       R2, R2, 4
6113
0x9D002664      0xAC400000  SW  R0, 0(R2)
6114
;__Lib_MemManager.c, 134 ::             MM_NrFreeBlocksUsed--;
6115
0x9D002668      0x9022ABEE  LBU R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6116
0x9D00266C      0x2442FFFF  ADDIU       R2, R2, -1
6117
0x9D002670      0xA022ABEE  SB  R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6118
;__Lib_MemManager.c, 135 ::             }
6119
L___Lib_MemManager_MM_GetMemAlign38:
6120
;__Lib_MemManager.c, 137 ::             return P;
6121
; P end address is: 20 (R5)
6122
0x9D002674      0x0B400A5E  J   L_end_MM_GetMemAlign
6123
0x9D002678      0x00A0100A  MOVZ        R2, R5, R0
6124
;__Lib_MemManager.c, 124 ::             if ((MM_FreeMemTable[i].Pointer > 0) && (MM_FreeMemTable[i].Size >= Size)) { // there is some free memory
6125
L___Lib_MemManager_MM_GetMemAlign98:
6126
; i start address is: 16 (R4)
6127
; P start address is: 20 (R5)
6128
L___Lib_MemManager_MM_GetMemAlign97:
6129
;__Lib_MemManager.c, 138 ::             }
6130
L___Lib_MemManager_MM_GetMemAlign33:
6131
;__Lib_MemManager.c, 117 ::             for(i=0; i < NR_FREE_BLOCKS; i++) {
6132
0x9D00267C      0x24820001  ADDIU       R2, R4, 1
6133
;__Lib_MemManager.c, 139 ::             }
6134
; i end address is: 16 (R4)
6135
0x9D002680      0x0B400940  J   L___Lib_MemManager_MM_GetMemAlign28
6136
0x9D002684      0x304400FF  ANDI        R4, R2, 255
6137
L___Lib_MemManager_MM_GetMemAlign29:
6138
;__Lib_MemManager.c, 143 ::             if (alignment <= 1)
6139
0x9D002688      0x334200FF  ANDI        R2, R26, 255
6140
0x9D00268C      0x2C420002  SLTIU       R2, R2, 2
6141
0x9D002690      0x10400003  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign39
6142
0x9D002694      0x70000000  NOP
6143
L___Lib_MemManager_MM_GetMemAlign147:
6144
;__Lib_MemManager.c, 144 ::             return P;
6145
; P end address is: 20 (R5)
6146
0x9D002698      0x0B400A5E  J   L_end_MM_GetMemAlign
6147
0x9D00269C      0x00A0100A  MOVZ        R2, R5, R0
6148
L___Lib_MemManager_MM_GetMemAlign39:
6149
;__Lib_MemManager.c, 149 ::             if (MM_NrFreeBlocksUsed == (NR_FREE_BLOCKS - 1))
6150
; P start address is: 20 (R5)
6151
0x9D0026A0      0x9023ABEE  LBU R3, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6152
0x9D0026A4      0x34020013  ORI R2, R0, 19
6153
0x9D0026A8      0x14620003  BNE R3, R2, L___Lib_MemManager_MM_GetMemAlign40
6154
0x9D0026AC      0x70000000  NOP
6155
L___Lib_MemManager_MM_GetMemAlign148:
6156
;__Lib_MemManager.c, 150 ::             return P;
6157
; P end address is: 20 (R5)
6158
0x9D0026B0      0x0B400A5E  J   L_end_MM_GetMemAlign
6159
0x9D0026B4      0x00A0100A  MOVZ        R2, R5, R0
6160
L___Lib_MemManager_MM_GetMemAlign40:
6161
;__Lib_MemManager.c, 152 ::             j = -1;
6162
; j start address is: 8 (R2)
6163
; P start address is: 20 (R5)
6164
0x9D0026B8      0x340200FF  ORI R2, R0, 255
6165
;__Lib_MemManager.c, 153 ::             for (i=0; i
6166
; i start address is: 16 (R4)
6167
0x9D0026BC      0x0000200A  MOVZ        R4, R0, R0
6168
; P end address is: 20 (R5)
6169
; j end address is: 8 (R2)
6170
; i end address is: 16 (R4)
6171
0x9D0026C0      0x00A0300A  MOVZ        R6, R5, R0
6172
0x9D0026C4      0x7C022C20  SEB R5, R2
6173
L___Lib_MemManager_MM_GetMemAlign41:
6174
; i start address is: 16 (R4)
6175
; j start address is: 20 (R5)
6176
; P start address is: 24 (R6)
6177
0x9D0026C8      0x308200FF  ANDI        R2, R4, 255
6178
0x9D0026CC      0x28420014  SLTI        R2, R2, 20
6179
0x9D0026D0      0x104000A8  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign42
6180
0x9D0026D4      0x70000000  NOP
6181
L___Lib_MemManager_MM_GetMemAlign149:
6182
;__Lib_MemManager.c, 154 ::             if (MM_FreeMemTable[i].Pointer > 0) {
6183
0x9D0026D8      0x308200FF  ANDI        R2, R4, 255
6184
0x9D0026DC      0x000218C0  SLL R3, R2, 3
6185
0x9D0026E0      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6186
0x9D0026E4      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6187
0x9D0026E8      0x00431021  ADDU        R2, R2, R3
6188
0x9D0026EC      0x8C420000  LW  R2, 0(R2)
6189
0x9D0026F0      0x2C420001  SLTIU       R2, R2, 1
6190
0x9D0026F4      0x14400093  BNE R2, R0, L___Lib_MemManager_MM_GetMemAlign44
6191
0x9D0026F8      0x70000000  NOP
6192
L___Lib_MemManager_MM_GetMemAlign150:
6193
;__Lib_MemManager.c, 155 ::             addr = MM_FreeMemTable[i].Pointer;
6194
0x9D0026FC      0x308200FF  ANDI        R2, R4, 255
6195
0x9D002700      0x000218C0  SLL R3, R2, 3
6196
0x9D002704      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6197
0x9D002708      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6198
0x9D00270C      0x00431021  ADDU        R2, R2, R3
6199
0x9D002710      0x8C420000  LW  R2, 0(R2)
6200
0x9D002714      0xAFA20000  SW  R2, 0(SP)
6201
;__Lib_MemManager.c, 157 ::             lsize = Size;
6202
0x9D002718      0xAFB90004  SW  R25, 4(SP)
6203
;__Lib_MemManager.c, 158 ::             if (alignment > 1)
6204
0x9D00271C      0x334200FF  ANDI        R2, R26, 255
6205
0x9D002720      0x2C420002  SLTIU       R2, R2, 2
6206
0x9D002724      0x14400012  BNE R2, R0, L___Lib_MemManager_MM_GetMemAlign101
6207
0x9D002728      0x70000000  NOP
6208
L___Lib_MemManager_MM_GetMemAlign151:
6209
; j end address is: 20 (R5)
6210
; P end address is: 24 (R6)
6211
; i end address is: 16 (R4)
6212
0x9D00272C      0x7C053C20  SEB R7, R5
6213
0x9D002730      0x308500FF  ANDI        R5, R4, 255
6214
;__Lib_MemManager.c, 159 ::             while (addr % alignment)
6215
L___Lib_MemManager_MM_GetMemAlign46:
6216
; P start address is: 24 (R6)
6217
; j start address is: 28 (R7)
6218
; i start address is: 20 (R5)
6219
0x9D002734      0x334300FF  ANDI        R3, R26, 255
6220
0x9D002738      0x8FA20000  LW  R2, 0(SP)
6221
0x9D00273C      0x0043001B  DIVU        R2, R3
6222
0x9D002740      0x00001010  MFHI        R2
6223
0x9D002744      0x10400008  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign47
6224
0x9D002748      0x70000000  NOP
6225
L___Lib_MemManager_MM_GetMemAlign153:
6226
;__Lib_MemManager.c, 160 ::             addr++, lsize++;
6227
0x9D00274C      0x8FA20000  LW  R2, 0(SP)
6228
0x9D002750      0x24420001  ADDIU       R2, R2, 1
6229
0x9D002754      0xAFA20000  SW  R2, 0(SP)
6230
0x9D002758      0x8FA20004  LW  R2, 4(SP)
6231
0x9D00275C      0x24420001  ADDIU       R2, R2, 1
6232
0x9D002760      0x0B4009CD  J   L___Lib_MemManager_MM_GetMemAlign46
6233
0x9D002764      0xAFA20004  SW  R2, 4(SP)
6234
L___Lib_MemManager_MM_GetMemAlign47:
6235
; i end address is: 20 (R5)
6236
; P end address is: 24 (R6)
6237
0x9D002768      0x0B4009DE  J   L___Lib_MemManager_MM_GetMemAlign45
6238
0x9D00276C      0x70000000  NOP
6239
; j end address is: 28 (R7)
6240
L___Lib_MemManager_MM_GetMemAlign101:
6241
;__Lib_MemManager.c, 158 ::             if (alignment > 1)
6242
0x9D002770      0x7C053C20  SEB R7, R5
6243
0x9D002774      0x308500FF  ANDI        R5, R4, 255
6244
;__Lib_MemManager.c, 160 ::             addr++, lsize++;
6245
L___Lib_MemManager_MM_GetMemAlign45:
6246
;__Lib_MemManager.c, 162 ::             if (MM_FreeMemTable[i].Size >= lsize) { // there is some free memory
6247
; P start address is: 24 (R6)
6248
; j start address is: 28 (R7)
6249
; i start address is: 20 (R5)
6250
0x9D002778      0x30A200FF  ANDI        R2, R5, 255
6251
0x9D00277C      0x000218C0  SLL R3, R2, 3
6252
0x9D002780      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6253
0x9D002784      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6254
0x9D002788      0x00431021  ADDU        R2, R2, R3
6255
0x9D00278C      0x24420004  ADDIU       R2, R2, 4
6256
0x9D002790      0x8C430000  LW  R3, 0(R2)
6257
0x9D002794      0x8FA20004  LW  R2, 4(SP)
6258
0x9D002798      0x0062102B  SLTU        R2, R3, R2
6259
0x9D00279C      0x14400066  BNE R2, R0, L___Lib_MemManager_MM_GetMemAlign48
6260
0x9D0027A0      0x70000000  NOP
6261
L___Lib_MemManager_MM_GetMemAlign154:
6262
; P end address is: 24 (R6)
6263
;__Lib_MemManager.c, 164 ::             if (j == -1)
6264
0x9D0027A4      0x7C071C20  SEB R3, R7
6265
0x9D0027A8      0x3C02FFFF  LUI R2, 65535
6266
0x9D0027AC      0x3442FFFF  ORI R2, R2, 65535
6267
0x9D0027B0      0x14620016  BNE R3, R2, L___Lib_MemManager_MM_GetMemAlign102
6268
0x9D0027B4      0x70000000  NOP
6269
L___Lib_MemManager_MM_GetMemAlign155:
6270
; j end address is: 28 (R7)
6271
;__Lib_MemManager.c, 165 ::             for (j=i+1; j
6272
0x9D0027B8      0x24A20001  ADDIU       R2, R5, 1
6273
; j start address is: 24 (R6)
6274
0x9D0027BC      0x304600FF  ANDI        R6, R2, 255
6275
; i end address is: 20 (R5)
6276
; j end address is: 24 (R6)
6277
L___Lib_MemManager_MM_GetMemAlign50:
6278
; j start address is: 24 (R6)
6279
; i start address is: 20 (R5)
6280
0x9D0027C0      0x7C061420  SEB R2, R6
6281
0x9D0027C4      0x28420014  SLTI        R2, R2, 20
6282
0x9D0027C8      0x1040000E  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign51
6283
0x9D0027CC      0x70000000  NOP
6284
L___Lib_MemManager_MM_GetMemAlign156:
6285
;__Lib_MemManager.c, 166 ::             if (MM_FreeMemTable[j].Pointer == 0)
6286
0x9D0027D0      0x7C061420  SEB R2, R6
6287
0x9D0027D4      0x000218C0  SLL R3, R2, 3
6288
0x9D0027D8      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6289
0x9D0027DC      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6290
0x9D0027E0      0x00431021  ADDU        R2, R2, R3
6291
0x9D0027E4      0x8C420000  LW  R2, 0(R2)
6292
0x9D0027E8      0x14400003  BNE R2, R0, L___Lib_MemManager_MM_GetMemAlign53
6293
0x9D0027EC      0x70000000  NOP
6294
L___Lib_MemManager_MM_GetMemAlign157:
6295
;__Lib_MemManager.c, 167 ::             break;
6296
0x9D0027F0      0x0B400A01  J   L___Lib_MemManager_MM_GetMemAlign51
6297
0x9D0027F4      0x70000000  NOP
6298
L___Lib_MemManager_MM_GetMemAlign53:
6299
;__Lib_MemManager.c, 165 ::             for (j=i+1; j
6300
0x9D0027F8      0x24C20001  ADDIU       R2, R6, 1
6301
;__Lib_MemManager.c, 167 ::             break;
6302
0x9D0027FC      0x0B4009F0  J   L___Lib_MemManager_MM_GetMemAlign50
6303
0x9D002800      0x7C023420  SEB R6, R2
6304
L___Lib_MemManager_MM_GetMemAlign51:
6305
; j end address is: 24 (R6)
6306
0x9D002804      0x0B400A04  J   L___Lib_MemManager_MM_GetMemAlign49
6307
0x9D002808      0x70000000  NOP
6308
; i end address is: 20 (R5)
6309
L___Lib_MemManager_MM_GetMemAlign102:
6310
;__Lib_MemManager.c, 164 ::             if (j == -1)
6311
0x9D00280C      0x7C073420  SEB R6, R7
6312
;__Lib_MemManager.c, 167 ::             break;
6313
L___Lib_MemManager_MM_GetMemAlign49:
6314
;__Lib_MemManager.c, 170 ::             MM_FreeMemTable[j].Pointer = MM_FreeMemTable[i].Pointer;
6315
; i start address is: 20 (R5)
6316
; j start address is: 24 (R6)
6317
0x9D002810      0x7C061420  SEB R2, R6
6318
0x9D002814      0x000218C0  SLL R3, R2, 3
6319
0x9D002818      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6320
0x9D00281C      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6321
0x9D002820      0x00432021  ADDU        R4, R2, R3
6322
0x9D002824      0x30A200FF  ANDI        R2, R5, 255
6323
0x9D002828      0x000218C0  SLL R3, R2, 3
6324
0x9D00282C      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6325
0x9D002830      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6326
0x9D002834      0x00431021  ADDU        R2, R2, R3
6327
0x9D002838      0x8C420000  LW  R2, 0(R2)
6328
0x9D00283C      0xAC820000  SW  R2, 0(R4)
6329
;__Lib_MemManager.c, 171 ::             MM_FreeMemTable[j].Size    = lsize - Size;
6330
0x9D002840      0x7C061420  SEB R2, R6
6331
; j end address is: 24 (R6)
6332
0x9D002844      0x000218C0  SLL R3, R2, 3
6333
0x9D002848      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6334
0x9D00284C      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6335
0x9D002850      0x00431021  ADDU        R2, R2, R3
6336
0x9D002854      0x24430004  ADDIU       R3, R2, 4
6337
0x9D002858      0x8FA20004  LW  R2, 4(SP)
6338
0x9D00285C      0x00591023  SUBU        R2, R2, R25
6339
0x9D002860      0xAC620000  SW  R2, 0(R3)
6340
;__Lib_MemManager.c, 172 ::             MM_NrFreeBlocksUsed++;
6341
0x9D002864      0x9022ABEE  LBU R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6342
0x9D002868      0x24420001  ADDIU       R2, R2, 1
6343
0x9D00286C      0xA022ABEE  SB  R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6344
;__Lib_MemManager.c, 174 ::             P = addr; // pointer to memory block that will be given
6345
; P start address is: 24 (R6)
6346
0x9D002870      0x8FA60000  LW  R6, 0(SP)
6347
;__Lib_MemManager.c, 176 ::             if (MM_FreeMemTable[i].Size > lsize) {
6348
0x9D002874      0x30A200FF  ANDI        R2, R5, 255
6349
0x9D002878      0x000218C0  SLL R3, R2, 3
6350
0x9D00287C      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6351
0x9D002880      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6352
0x9D002884      0x00431021  ADDU        R2, R2, R3
6353
0x9D002888      0x24420004  ADDIU       R2, R2, 4
6354
0x9D00288C      0x8C430000  LW  R3, 0(R2)
6355
0x9D002890      0x8FA20004  LW  R2, 4(SP)
6356
0x9D002894      0x0043102B  SLTU        R2, R2, R3
6357
0x9D002898      0x10400015  BEQ R2, R0, L___Lib_MemManager_MM_GetMemAlign54
6358
0x9D00289C      0x70000000  NOP
6359
L___Lib_MemManager_MM_GetMemAlign158:
6360
;__Lib_MemManager.c, 177 ::             MM_FreeMemTable[i].Pointer = MM_FreeMemTable[i].Pointer + lsize;
6361
0x9D0028A0      0x30A200FF  ANDI        R2, R5, 255
6362
0x9D0028A4      0x000218C0  SLL R3, R2, 3
6363
0x9D0028A8      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6364
0x9D0028AC      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6365
0x9D0028B0      0x00432021  ADDU        R4, R2, R3
6366
0x9D0028B4      0x8C830000  LW  R3, 0(R4)
6367
0x9D0028B8      0x8FA20004  LW  R2, 4(SP)
6368
0x9D0028BC      0x00621021  ADDU        R2, R3, R2
6369
0x9D0028C0      0xAC820000  SW  R2, 0(R4)
6370
;__Lib_MemManager.c, 178 ::             MM_FreeMemTable[i].Size    = MM_FreeMemTable[i].Size    - lsize;
6371
0x9D0028C4      0x30A200FF  ANDI        R2, R5, 255
6372
; i end address is: 20 (R5)
6373
0x9D0028C8      0x000218C0  SLL R3, R2, 3
6374
0x9D0028CC      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6375
0x9D0028D0      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6376
0x9D0028D4      0x00431021  ADDU        R2, R2, R3
6377
0x9D0028D8      0x24440004  ADDIU       R4, R2, 4
6378
0x9D0028DC      0x8C830000  LW  R3, 0(R4)
6379
0x9D0028E0      0x8FA20004  LW  R2, 4(SP)
6380
0x9D0028E4      0x00621023  SUBU        R2, R3, R2
6381
;__Lib_MemManager.c, 179 ::             }
6382
0x9D0028E8      0x0B400A4C  J   L___Lib_MemManager_MM_GetMemAlign55
6383
0x9D0028EC      0xAC820000  SW  R2, 0(R4)
6384
L___Lib_MemManager_MM_GetMemAlign54:
6385
;__Lib_MemManager.c, 181 ::             MM_FreeMemTable[i].Pointer = NULL;
6386
; i start address is: 20 (R5)
6387
0x9D0028F0      0x30A200FF  ANDI        R2, R5, 255
6388
0x9D0028F4      0x000218C0  SLL R3, R2, 3
6389
0x9D0028F8      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6390
0x9D0028FC      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6391
0x9D002900      0x00431021  ADDU        R2, R2, R3
6392
0x9D002904      0xAC400000  SW  R0, 0(R2)
6393
;__Lib_MemManager.c, 182 ::             MM_FreeMemTable[i].Size    = 0;
6394
0x9D002908      0x30A200FF  ANDI        R2, R5, 255
6395
; i end address is: 20 (R5)
6396
0x9D00290C      0x000218C0  SLL R3, R2, 3
6397
0x9D002910      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6398
0x9D002914      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6399
0x9D002918      0x00431021  ADDU        R2, R2, R3
6400
0x9D00291C      0x24420004  ADDIU       R2, R2, 4
6401
0x9D002920      0xAC400000  SW  R0, 0(R2)
6402
;__Lib_MemManager.c, 183 ::             MM_NrFreeBlocksUsed--;
6403
0x9D002924      0x9022ABEE  LBU R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6404
0x9D002928      0x2442FFFF  ADDIU       R2, R2, -1
6405
0x9D00292C      0xA022ABEE  SB  R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6406
;__Lib_MemManager.c, 184 ::             }
6407
L___Lib_MemManager_MM_GetMemAlign55:
6408
;__Lib_MemManager.c, 186 ::             return P;
6409
; P end address is: 24 (R6)
6410
0x9D002930      0x0B400A5E  J   L_end_MM_GetMemAlign
6411
0x9D002934      0x00C0100A  MOVZ        R2, R6, R0
6412
;__Lib_MemManager.c, 187 ::             };
6413
L___Lib_MemManager_MM_GetMemAlign48:
6414
;__Lib_MemManager.c, 188 ::             }
6415
; P start address is: 24 (R6)
6416
; i start address is: 20 (R5)
6417
; j start address is: 28 (R7)
6418
0x9D002938      0x30A300FF  ANDI        R3, R5, 255
6419
; j end address is: 28 (R7)
6420
; i end address is: 20 (R5)
6421
0x9D00293C      0x0B400A5A  J   L___Lib_MemManager_MM_GetMemAlign56
6422
0x9D002940      0x7C072C20  SEB R5, R7
6423
L___Lib_MemManager_MM_GetMemAlign44:
6424
;__Lib_MemManager.c, 190 ::             if (j == -1)
6425
; i start address is: 16 (R4)
6426
; j start address is: 20 (R5)
6427
0x9D002944      0x7C051C20  SEB R3, R5
6428
0x9D002948      0x3C02FFFF  LUI R2, 65535
6429
0x9D00294C      0x3442FFFF  ORI R2, R2, 65535
6430
0x9D002950      0x14620004  BNE R3, R2, L___Lib_MemManager_MM_GetMemAlign103
6431
0x9D002954      0x70000000  NOP
6432
L___Lib_MemManager_MM_GetMemAlign159:
6433
; j end address is: 20 (R5)
6434
;__Lib_MemManager.c, 191 ::             j = i; // mark first empty slot
6435
; j start address is: 8 (R2)
6436
0x9D002958      0x308200FF  ANDI        R2, R4, 255
6437
; j end address is: 8 (R2)
6438
0x9D00295C      0x0B400A59  J   L___Lib_MemManager_MM_GetMemAlign57
6439
0x9D002960      0x7C022C20  SEB R5, R2
6440
L___Lib_MemManager_MM_GetMemAlign103:
6441
;__Lib_MemManager.c, 190 ::             if (j == -1)
6442
;__Lib_MemManager.c, 191 ::             j = i; // mark first empty slot
6443
L___Lib_MemManager_MM_GetMemAlign57:
6444
;__Lib_MemManager.c, 192 ::             }
6445
; j start address is: 20 (R5)
6446
0x9D002964      0x308300FF  ANDI        R3, R4, 255
6447
; j end address is: 20 (R5)
6448
; P end address is: 24 (R6)
6449
; i end address is: 16 (R4)
6450
L___Lib_MemManager_MM_GetMemAlign56:
6451
;__Lib_MemManager.c, 153 ::             for (i=0; i
6452
; j start address is: 20 (R5)
6453
; P start address is: 24 (R6)
6454
; i start address is: 12 (R3)
6455
0x9D002968      0x24620001  ADDIU       R2, R3, 1
6456
; i end address is: 12 (R3)
6457
; i start address is: 16 (R4)
6458
;__Lib_MemManager.c, 193 ::             }
6459
; j end address is: 20 (R5)
6460
; i end address is: 16 (R4)
6461
0x9D00296C      0x0B4009B2  J   L___Lib_MemManager_MM_GetMemAlign41
6462
0x9D002970      0x304400FF  ANDI        R4, R2, 255
6463
L___Lib_MemManager_MM_GetMemAlign42:
6464
;__Lib_MemManager.c, 195 ::             return P;
6465
0x9D002974      0x00C0100A  MOVZ        R2, R6, R0
6466
; P end address is: 24 (R6)
6467
;__Lib_MemManager.c, 196 ::             }
6468
L_end_MM_GetMemAlign:
6469
0x9D002978      0x03E00008  JR  RA
6470
0x9D00297C      0x27BD0008  ADDIU       SP, SP, 8
6471
; end of __Lib_MemManager_MM_GetMemAlign
6472
__Lib_MemManager_MM_Defragment:
6473
;__Lib_MemManager.c, 67 ::              static void MM_Defragment() {
6474
0x9D002A6C      0x27BDFFE8  ADDIU       SP, SP, -24
6475
0x9D002A70      0xAFBF0000  SW  RA, 0(SP)
6476
;__Lib_MemManager.c, 71 ::              do {
6477
0x9D002A74      0xAFB90004  SW  R25, 4(SP)
6478
0x9D002A78      0xAFBA0008  SW  R26, 8(SP)
6479
0x9D002A7C      0xAFBB000C  SW  R27, 12(SP)
6480
0x9D002A80      0xAFBC0010  SW  R28, 16(SP)
6481
L___Lib_MemManager_MM_Defragment9:
6482
;__Lib_MemManager.c, 72 ::              MergeHappened = 0;
6483
0x9D002A84      0xA3A00014  SB  R0, 20(SP)
6484
;__Lib_MemManager.c, 73 ::              i = 0;
6485
0x9D002A88      0xA3A00015  SB  R0, 21(SP)
6486
;__Lib_MemManager.c, 74 ::              while ((i < NR_FREE_BLOCKS-1) && (!MergeHappened)) {
6487
L___Lib_MemManager_MM_Defragment12:
6488
0x9D002A8C      0x93A20015  LBU R2, 21(SP)
6489
0x9D002A90      0x2C420013  SLTIU       R2, R2, 19
6490
0x9D002A94      0x10400072  BEQ R2, R0, L___Lib_MemManager_MM_Defragment95
6491
0x9D002A98      0x70000000  NOP
6492
L___Lib_MemManager_MM_Defragment125:
6493
0x9D002A9C      0x93A20014  LBU R2, 20(SP)
6494
0x9D002AA0      0x1440006F  BNE R2, R0, L___Lib_MemManager_MM_Defragment94
6495
0x9D002AA4      0x70000000  NOP
6496
L___Lib_MemManager_MM_Defragment126:
6497
L___Lib_MemManager_MM_Defragment91:
6498
;__Lib_MemManager.c, 75 ::              j = i + 1;
6499
0x9D002AA8      0x93A20015  LBU R2, 21(SP)
6500
0x9D002AAC      0x24420001  ADDIU       R2, R2, 1
6501
; j start address is: 28 (R7)
6502
0x9D002AB0      0x304700FF  ANDI        R7, R2, 255
6503
; j end address is: 28 (R7)
6504
;__Lib_MemManager.c, 76 ::              while ((j < NR_FREE_BLOCKS) && (!MergeHappened)) {
6505
L___Lib_MemManager_MM_Defragment16:
6506
; j start address is: 28 (R7)
6507
0x9D002AB4      0x30E200FF  ANDI        R2, R7, 255
6508
0x9D002AB8      0x28420014  SLTI        R2, R2, 20
6509
0x9D002ABC      0x10400064  BEQ R2, R0, L___Lib_MemManager_MM_Defragment93
6510
0x9D002AC0      0x70000000  NOP
6511
L___Lib_MemManager_MM_Defragment127:
6512
0x9D002AC4      0x93A20014  LBU R2, 20(SP)
6513
0x9D002AC8      0x14400061  BNE R2, R0, L___Lib_MemManager_MM_Defragment92
6514
0x9D002ACC      0x70000000  NOP
6515
L___Lib_MemManager_MM_Defragment128:
6516
L___Lib_MemManager_MM_Defragment90:
6517
;__Lib_MemManager.c, 77 ::              Tmp = MM_CheckBlocks(MM_FreeMemTable[i].Pointer, MM_FreeMemTable[i].Size, MM_FreeMemTable[j].Pointer, MM_FreeMemTable[j].Size);
6518
0x9D002AD0      0x30E200FF  ANDI        R2, R7, 255
6519
0x9D002AD4      0x000218C0  SLL R3, R2, 3
6520
0x9D002AD8      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6521
0x9D002ADC      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6522
0x9D002AE0      0x00431821  ADDU        R3, R2, R3
6523
0x9D002AE4      0x24620004  ADDIU       R2, R3, 4
6524
0x9D002AE8      0x8C460000  LW  R6, 0(R2)
6525
0x9D002AEC      0x8C650000  LW  R5, 0(R3)
6526
0x9D002AF0      0x93A20015  LBU R2, 21(SP)
6527
0x9D002AF4      0x000218C0  SLL R3, R2, 3
6528
0x9D002AF8      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6529
0x9D002AFC      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6530
0x9D002B00      0x00432021  ADDU        R4, R2, R3
6531
0x9D002B04      0x24820004  ADDIU       R2, R4, 4
6532
0x9D002B08      0x8C430000  LW  R3, 0(R2)
6533
0x9D002B0C      0x8C820000  LW  R2, 0(R4)
6534
0x9D002B10      0x00C0E00A  MOVZ        R28, R6, R0
6535
0x9D002B14      0x00A0D80A  MOVZ        R27, R5, R0
6536
0x9D002B18      0x0060D00A  MOVZ        R26, R3, R0
6537
0x9D002B1C      0x0F400794  JAL __Lib_MemManager_MM_CheckBlocks+0
6538
0x9D002B20      0x0040C80A  MOVZ        R25, R2, R0
6539
; Tmp start address is: 16 (R4)
6540
0x9D002B24      0x304400FF  ANDI        R4, R2, 255
6541
;__Lib_MemManager.c, 78 ::              if (Tmp == 1) { // block MM_FreeMemTable[I].Pointer is adjacent beneath block MM_FreeMemTable[J].Pointer
6542
0x9D002B28      0x304300FF  ANDI        R3, R2, 255
6543
0x9D002B2C      0x34020001  ORI R2, R0, 1
6544
0x9D002B30      0x14620021  BNE R3, R2, L___Lib_MemManager_MM_Defragment20
6545
0x9D002B34      0x70000000  NOP
6546
L___Lib_MemManager_MM_Defragment129:
6547
; Tmp end address is: 16 (R4)
6548
;__Lib_MemManager.c, 79 ::              MM_FreeMemTable[i].Size    = MM_FreeMemTable[i].Size + MM_FreeMemTable[j].Size;
6549
0x9D002B38      0x93A20015  LBU R2, 21(SP)
6550
0x9D002B3C      0x000218C0  SLL R3, R2, 3
6551
0x9D002B40      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6552
0x9D002B44      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6553
0x9D002B48      0x00431021  ADDU        R2, R2, R3
6554
0x9D002B4C      0x24450004  ADDIU       R5, R2, 4
6555
0x9D002B50      0x8CA40000  LW  R4, 0(R5)
6556
0x9D002B54      0x30E200FF  ANDI        R2, R7, 255
6557
0x9D002B58      0x000218C0  SLL R3, R2, 3
6558
0x9D002B5C      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6559
0x9D002B60      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6560
0x9D002B64      0x00431021  ADDU        R2, R2, R3
6561
0x9D002B68      0x24420004  ADDIU       R2, R2, 4
6562
0x9D002B6C      0x8C420000  LW  R2, 0(R2)
6563
0x9D002B70      0x00821021  ADDU        R2, R4, R2
6564
0x9D002B74      0xACA20000  SW  R2, 0(R5)
6565
;__Lib_MemManager.c, 80 ::              MM_FreeMemTable[j].Pointer = NULL;
6566
0x9D002B78      0x30E200FF  ANDI        R2, R7, 255
6567
0x9D002B7C      0x000218C0  SLL R3, R2, 3
6568
0x9D002B80      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6569
0x9D002B84      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6570
0x9D002B88      0x00431021  ADDU        R2, R2, R3
6571
0x9D002B8C      0xAC400000  SW  R0, 0(R2)
6572
;__Lib_MemManager.c, 81 ::              MM_FreeMemTable[j].Size    = 0;
6573
0x9D002B90      0x30E200FF  ANDI        R2, R7, 255
6574
0x9D002B94      0x000218C0  SLL R3, R2, 3
6575
0x9D002B98      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6576
0x9D002B9C      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6577
0x9D002BA0      0x00431021  ADDU        R2, R2, R3
6578
0x9D002BA4      0x24420004  ADDIU       R2, R2, 4
6579
0x9D002BA8      0xAC400000  SW  R0, 0(R2)
6580
;__Lib_MemManager.c, 82 ::              MergeHappened = 1;
6581
0x9D002BAC      0x34020001  ORI R2, R0, 1
6582
;__Lib_MemManager.c, 83 ::              }
6583
0x9D002BB0      0x0B400B11  J   L___Lib_MemManager_MM_Defragment21
6584
0x9D002BB4      0xA3A20014  SB  R2, 20(SP)
6585
L___Lib_MemManager_MM_Defragment20:
6586
;__Lib_MemManager.c, 84 ::              else if (Tmp == 2) { // block MM_FreeMemTable[I].Pointer is adjacent above block MM_FreeMemTable[J].Pointer
6587
; Tmp start address is: 16 (R4)
6588
0x9D002BB8      0x308300FF  ANDI        R3, R4, 255
6589
; Tmp end address is: 16 (R4)
6590
0x9D002BBC      0x34020002  ORI R2, R0, 2
6591
0x9D002BC0      0x14620020  BNE R3, R2, L___Lib_MemManager_MM_Defragment22
6592
0x9D002BC4      0x70000000  NOP
6593
L___Lib_MemManager_MM_Defragment130:
6594
;__Lib_MemManager.c, 85 ::              MM_FreeMemTable[j].Size    = MM_FreeMemTable[j].Size + MM_FreeMemTable[i].Size;
6595
0x9D002BC8      0x30E200FF  ANDI        R2, R7, 255
6596
0x9D002BCC      0x000218C0  SLL R3, R2, 3
6597
0x9D002BD0      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6598
0x9D002BD4      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6599
0x9D002BD8      0x00431021  ADDU        R2, R2, R3
6600
0x9D002BDC      0x24450004  ADDIU       R5, R2, 4
6601
0x9D002BE0      0x8CA40000  LW  R4, 0(R5)
6602
0x9D002BE4      0x93A20015  LBU R2, 21(SP)
6603
0x9D002BE8      0x000218C0  SLL R3, R2, 3
6604
0x9D002BEC      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6605
0x9D002BF0      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6606
0x9D002BF4      0x00431021  ADDU        R2, R2, R3
6607
0x9D002BF8      0x24420004  ADDIU       R2, R2, 4
6608
0x9D002BFC      0x8C420000  LW  R2, 0(R2)
6609
0x9D002C00      0x00821021  ADDU        R2, R4, R2
6610
0x9D002C04      0xACA20000  SW  R2, 0(R5)
6611
;__Lib_MemManager.c, 86 ::              MM_FreeMemTable[i].Pointer = NULL;
6612
0x9D002C08      0x93A20015  LBU R2, 21(SP)
6613
0x9D002C0C      0x000218C0  SLL R3, R2, 3
6614
0x9D002C10      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6615
0x9D002C14      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6616
0x9D002C18      0x00431021  ADDU        R2, R2, R3
6617
0x9D002C1C      0xAC400000  SW  R0, 0(R2)
6618
;__Lib_MemManager.c, 87 ::              MM_FreeMemTable[i].Size    = 0;
6619
0x9D002C20      0x93A20015  LBU R2, 21(SP)
6620
0x9D002C24      0x000218C0  SLL R3, R2, 3
6621
0x9D002C28      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6622
0x9D002C2C      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6623
0x9D002C30      0x00431021  ADDU        R2, R2, R3
6624
0x9D002C34      0x24420004  ADDIU       R2, R2, 4
6625
0x9D002C38      0xAC400000  SW  R0, 0(R2)
6626
;__Lib_MemManager.c, 88 ::              MergeHappened = 1;
6627
0x9D002C3C      0x34020001  ORI R2, R0, 1
6628
0x9D002C40      0xA3A20014  SB  R2, 20(SP)
6629
;__Lib_MemManager.c, 89 ::              }
6630
L___Lib_MemManager_MM_Defragment22:
6631
L___Lib_MemManager_MM_Defragment21:
6632
;__Lib_MemManager.c, 90 ::              j++;
6633
0x9D002C44      0x24E20001  ADDIU       R2, R7, 1
6634
;__Lib_MemManager.c, 91 ::              }
6635
; j end address is: 28 (R7)
6636
0x9D002C48      0x0B400AAD  J   L___Lib_MemManager_MM_Defragment16
6637
0x9D002C4C      0x304700FF  ANDI        R7, R2, 255
6638
;__Lib_MemManager.c, 76 ::              while ((j < NR_FREE_BLOCKS) && (!MergeHappened)) {
6639
L___Lib_MemManager_MM_Defragment93:
6640
L___Lib_MemManager_MM_Defragment92:
6641
;__Lib_MemManager.c, 92 ::              i++;
6642
0x9D002C50      0x93A20015  LBU R2, 21(SP)
6643
0x9D002C54      0x24420001  ADDIU       R2, R2, 1
6644
;__Lib_MemManager.c, 93 ::              }
6645
0x9D002C58      0x0B400AA3  J   L___Lib_MemManager_MM_Defragment12
6646
0x9D002C5C      0xA3A20015  SB  R2, 21(SP)
6647
;__Lib_MemManager.c, 74 ::              while ((i < NR_FREE_BLOCKS-1) && (!MergeHappened)) {
6648
L___Lib_MemManager_MM_Defragment95:
6649
L___Lib_MemManager_MM_Defragment94:
6650
;__Lib_MemManager.c, 94 ::              } while (MergeHappened == 1);
6651
0x9D002C60      0x93A30014  LBU R3, 20(SP)
6652
0x9D002C64      0x34020001  ORI R2, R0, 1
6653
0x9D002C68      0x1062FF86  BEQ R3, R2, L___Lib_MemManager_MM_Defragment9
6654
0x9D002C6C      0x70000000  NOP
6655
L___Lib_MemManager_MM_Defragment132:
6656
;__Lib_MemManager.c, 97 ::              MM_NrFreeBlocksUsed = 0;
6657
0x9D002C70      0xA020ABEE  SB  R0, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6658
;__Lib_MemManager.c, 98 ::              for(i=0; i < NR_FREE_BLOCKS; i++)
6659
0x9D002C74      0xA3A00015  SB  R0, 21(SP)
6660
L___Lib_MemManager_MM_Defragment23:
6661
0x9D002C78      0x93A20015  LBU R2, 21(SP)
6662
0x9D002C7C      0x28420014  SLTI        R2, R2, 20
6663
0x9D002C80      0x10400011  BEQ R2, R0, L___Lib_MemManager_MM_Defragment24
6664
0x9D002C84      0x70000000  NOP
6665
L___Lib_MemManager_MM_Defragment133:
6666
;__Lib_MemManager.c, 99 ::              if (MM_FreeMemTable[i].Pointer > 0)
6667
0x9D002C88      0x93A20015  LBU R2, 21(SP)
6668
0x9D002C8C      0x000218C0  SLL R3, R2, 3
6669
0x9D002C90      0x3C02A000  LUI R2, hi_addr(_MM_FreeMemTable+0)
6670
0x9D002C94      0x34422BF8  ORI R2, R2, lo_addr(_MM_FreeMemTable+0)
6671
0x9D002C98      0x00431021  ADDU        R2, R2, R3
6672
0x9D002C9C      0x8C420000  LW  R2, 0(R2)
6673
0x9D002CA0      0x2C420001  SLTIU       R2, R2, 1
6674
0x9D002CA4      0x14400004  BNE R2, R0, L___Lib_MemManager_MM_Defragment26
6675
0x9D002CA8      0x70000000  NOP
6676
L___Lib_MemManager_MM_Defragment134:
6677
;__Lib_MemManager.c, 100 ::             MM_NrFreeBlocksUsed++;
6678
0x9D002CAC      0x9022ABEE  LBU R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6679
0x9D002CB0      0x24420001  ADDIU       R2, R2, 1
6680
0x9D002CB4      0xA022ABEE  SB  R2, Offset(_MM_NrFreeBlocksUsed+0)(GP)
6681
L___Lib_MemManager_MM_Defragment26:
6682
;__Lib_MemManager.c, 98 ::              for(i=0; i < NR_FREE_BLOCKS; i++)
6683
0x9D002CB8      0x93A20015  LBU R2, 21(SP)
6684
0x9D002CBC      0x24420001  ADDIU       R2, R2, 1
6685
;__Lib_MemManager.c, 100 ::             MM_NrFreeBlocksUsed++;
6686
0x9D002CC0      0x0B400B1E  J   L___Lib_MemManager_MM_Defragment23
6687
0x9D002CC4      0xA3A20015  SB  R2, 21(SP)
6688
L___Lib_MemManager_MM_Defragment24:
6689
;__Lib_MemManager.c, 102 ::             MM_PossiblyFragmented = 0;
6690
0x9D002CC8      0xA020ABEF  SB  R0, Offset(_MM_PossiblyFragmented+0)(GP)
6691
;__Lib_MemManager.c, 103 ::             }
6692
L_end_MM_Defragment:
6693
0x9D002CCC      0x8FBC0010  LW  R28, 16(SP)
6694
0x9D002CD0      0x8FBB000C  LW  R27, 12(SP)
6695
0x9D002CD4      0x8FBA0008  LW  R26, 8(SP)
6696
0x9D002CD8      0x8FB90004  LW  R25, 4(SP)
6697
0x9D002CDC      0x8FBF0000  LW  RA, 0(SP)
6698
0x9D002CE0      0x03E00008  JR  RA
6699
0x9D002CE4      0x27BD0018  ADDIU       SP, SP, 24
6700
; end of __Lib_MemManager_MM_Defragment
6701
__Lib_MemManager_MM_CheckBlocks:
6702
;__Lib_MemManager.c, 51 ::              static char MM_CheckBlocks(char *P1, unsigned long S1, char * P2, unsigned long S2) {
6703
;__Lib_MemManager.c, 54 ::              if (P1 == 0)
6704
0x9D001E50      0x17200003  BNE R25, R0, L___Lib_MemManager_MM_CheckBlocks3
6705
0x9D001E54      0x70000000  NOP
6706
L___Lib_MemManager_MM_CheckBlocks119:
6707
;__Lib_MemManager.c, 55 ::              return 0;
6708
0x9D001E58      0x0B4007AA  J   L_end_MM_CheckBlocks
6709
0x9D001E5C      0x0000100A  MOVZ        R2, R0, R0
6710
L___Lib_MemManager_MM_CheckBlocks3:
6711
;__Lib_MemManager.c, 56 ::              if (P2 == 0)
6712
0x9D001E60      0x17600003  BNE R27, R0, L___Lib_MemManager_MM_CheckBlocks4
6713
0x9D001E64      0x70000000  NOP
6714
L___Lib_MemManager_MM_CheckBlocks120:
6715
;__Lib_MemManager.c, 57 ::              return 0;
6716
0x9D001E68      0x0B4007AA  J   L_end_MM_CheckBlocks
6717
0x9D001E6C      0x0000100A  MOVZ        R2, R0, R0
6718
L___Lib_MemManager_MM_CheckBlocks4:
6719
;__Lib_MemManager.c, 58 ::              if (P1 == P2)
6720
0x9D001E70      0x173B0003  BNE R25, R27, L___Lib_MemManager_MM_CheckBlocks5
6721
0x9D001E74      0x70000000  NOP
6722
L___Lib_MemManager_MM_CheckBlocks121:
6723
;__Lib_MemManager.c, 59 ::              return 0;
6724
0x9D001E78      0x0B4007AA  J   L_end_MM_CheckBlocks
6725
0x9D001E7C      0x0000100A  MOVZ        R2, R0, R0
6726
L___Lib_MemManager_MM_CheckBlocks5:
6727
;__Lib_MemManager.c, 61 ::              if (P1 + S1 == P2)
6728
0x9D001E80      0x033A1021  ADDU        R2, R25, R26
6729
0x9D001E84      0x145B0003  BNE R2, R27, L___Lib_MemManager_MM_CheckBlocks6
6730
0x9D001E88      0x70000000  NOP
6731
L___Lib_MemManager_MM_CheckBlocks122:
6732
;__Lib_MemManager.c, 62 ::              return  1;  // block P1 is adjacent beneath block P2
6733
0x9D001E8C      0x0B4007AA  J   L_end_MM_CheckBlocks
6734
0x9D001E90      0x34020001  ORI R2, R0, 1
6735
L___Lib_MemManager_MM_CheckBlocks6:
6736
;__Lib_MemManager.c, 63 ::              else if (P2 + S2 == P1)
6737
0x9D001E94      0x037C1021  ADDU        R2, R27, R28
6738
0x9D001E98      0x14590003  BNE R2, R25, L___Lib_MemManager_MM_CheckBlocks8
6739
0x9D001E9C      0x70000000  NOP
6740
L___Lib_MemManager_MM_CheckBlocks123:
6741
;__Lib_MemManager.c, 64 ::              return  2; // block P2 is adjacent beneath block P1
6742
0x9D001EA0      0x0B4007AA  J   L_end_MM_CheckBlocks
6743
0x9D001EA4      0x34020002  ORI R2, R0, 2
6744
L___Lib_MemManager_MM_CheckBlocks8:
6745
;__Lib_MemManager.c, 65 ::              }
6746
L_end_MM_CheckBlocks:
6747
0x9D001EA8      0x03E00008  JR  RA
6748
0x9D001EAC      0x70000000  NOP
6749
; end of __Lib_MemManager_MM_CheckBlocks
6750
_cmd_chip_read_param_page:
6751
;CMD_ReadParamPage.c, 5 ::              void cmd_chip_read_param_page(unsigned char* outBuffer)
6752
0x9D0036CC      0x27BDFFF4  ADDIU       SP, SP, -12
6753
0x9D0036D0      0xAFBF0000  SW  RA, 0(SP)
6754
;CMD_ReadParamPage.c, 7 ::              nand_send_command(NC_READ_PARAM_PAGE);
6755
0x9D0036D4      0xAFBA0004  SW  R26, 4(SP)
6756
0x9D0036D8      0xAFB90008  SW  R25, 8(SP)
6757
0x9D0036DC      0x0F40087F  JAL _nand_send_command+0
6758
0x9D0036E0      0x341900EC  ORI R25, R0, 236
6759
;CMD_ReadParamPage.c, 8 ::              nand_send_address(0, 0);
6760
0x9D0036E4      0x0000D00A  MOVZ        R26, R0, R0
6761
0x9D0036E8      0x0F400A65  JAL _nand_send_address+0
6762
0x9D0036EC      0x0000C80A  MOVZ        R25, R0, R0
6763
;CMD_ReadParamPage.c, 9 ::              do_delay(5);
6764
0x9D0036F0      0x0F40084C  JAL _do_delay+0
6765
0x9D0036F4      0x34190005  ORI R25, R0, 5
6766
0x9D0036F8      0x8FB90008  LW  R25, 8(SP)
6767
;CMD_ReadParamPage.c, 10 ::             while(!nand_is_ready());
6768
L_cmd_chip_read_param_page0:
6769
0x9D0036FC      0x0F400898  JAL _nand_is_ready+0
6770
0x9D003700      0xAFB90008  SW  R25, 8(SP)
6771
0x9D003704      0x14400003  BNE R2, R0, L_cmd_chip_read_param_page1
6772
0x9D003708      0x8FB90008  LW  R25, 8(SP)
6773
L__cmd_chip_read_param_page3:
6774
0x9D00370C      0x0B400DBF  J   L_cmd_chip_read_param_page0
6775
0x9D003710      0x70000000  NOP
6776
L_cmd_chip_read_param_page1:
6777
;CMD_ReadParamPage.c, 11 ::             do_delay(2500);
6778
0x9D003714      0xAFB90008  SW  R25, 8(SP)
6779
0x9D003718      0x0F40084C  JAL _do_delay+0
6780
0x9D00371C      0x341909C4  ORI R25, R0, 2500
6781
0x9D003720      0x8FB90008  LW  R25, 8(SP)
6782
;CMD_ReadParamPage.c, 12 ::             nand_read(outBuffer, 0x100);
6783
0x9D003724      0xAFB90008  SW  R25, 8(SP)
6784
0x9D003728      0x0F4008B7  JAL _nand_read+0
6785
0x9D00372C      0x341A0100  ORI R26, R0, 256
6786
0x9D003730      0x8FB90008  LW  R25, 8(SP)
6787
;CMD_ReadParamPage.c, 13 ::             }
6788
L_end_cmd_chip_read_param_page:
6789
0x9D003734      0x8FBA0004  LW  R26, 4(SP)
6790
0x9D003738      0x8FBF0000  LW  RA, 0(SP)
6791
0x9D00373C      0x03E00008  JR  RA
6792
0x9D003740      0x27BD000C  ADDIU       SP, SP, 12
6793
; end of _cmd_chip_read_param_page
6794
_cmd_chip_read_page:
6795
;CMD_ReadPage.c, 5 ::           void cmd_chip_read_page(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCycles)
6796
0x9D003744      0x27BDFFE8  ADDIU       SP, SP, -24
6797
0x9D003748      0xAFBF0000  SW  RA, 0(SP)
6798
;CMD_ReadPage.c, 7 ::           nand_send_command(NC_READ_MODE);
6799
0x9D00374C      0xAFB90004  SW  R25, 4(SP)
6800
0x9D003750      0xA7BC0008  SH  R28, 8(SP)
6801
0x9D003754      0xA7BB000A  SH  R27, 10(SP)
6802
0x9D003758      0xAFBA000C  SW  R26, 12(SP)
6803
0x9D00375C      0xAFB90010  SW  R25, 16(SP)
6804
0x9D003760      0x0F40087F  JAL _nand_send_command+0
6805
0x9D003764      0x0000C80A  MOVZ        R25, R0, R0
6806
0x9D003768      0x8FB90010  LW  R25, 16(SP)
6807
0x9D00376C      0x8FBA000C  LW  R26, 12(SP)
6808
0x9D003770      0x87BB000A  LH  R27, 10(SP)
6809
0x9D003774      0x87BC0008  LH  R28, 8(SP)
6810
;CMD_ReadPage.c, 8 ::           nand_send_address(inBuffer + 1, addressCycles);
6811
0x9D003778      0x27220001  ADDIU       R2, R25, 1
6812
0x9D00377C      0xA7BB0008  SH  R27, 8(SP)
6813
0x9D003780      0xAFBA000C  SW  R26, 12(SP)
6814
0x9D003784      0x7C1CD620  SEH R26, R28
6815
0x9D003788      0x0F400A65  JAL _nand_send_address+0
6816
0x9D00378C      0x0040C80A  MOVZ        R25, R2, R0
6817
;CMD_ReadPage.c, 9 ::           nand_send_command(NC_READ_PAGE);
6818
0x9D003790      0x0F40087F  JAL _nand_send_command+0
6819
0x9D003794      0x34190030  ORI R25, R0, 48
6820
;CMD_ReadPage.c, 10 ::          do_delay(5);
6821
0x9D003798      0x0F40084C  JAL _do_delay+0
6822
0x9D00379C      0x34190005  ORI R25, R0, 5
6823
0x9D0037A0      0x8FBA000C  LW  R26, 12(SP)
6824
0x9D0037A4      0x87BB0008  LH  R27, 8(SP)
6825
;CMD_ReadPage.c, 11 ::          while(!nand_is_ready());
6826
L_cmd_chip_read_page0:
6827
0x9D0037A8      0xA7BC0008  SH  R28, 8(SP)
6828
0x9D0037AC      0xA7BB000A  SH  R27, 10(SP)
6829
0x9D0037B0      0xAFBA000C  SW  R26, 12(SP)
6830
0x9D0037B4      0x0F400898  JAL _nand_is_ready+0
6831
0x9D0037B8      0xAFB90010  SW  R25, 16(SP)
6832
0x9D0037BC      0x8FB90010  LW  R25, 16(SP)
6833
0x9D0037C0      0x8FBA000C  LW  R26, 12(SP)
6834
0x9D0037C4      0x87BB000A  LH  R27, 10(SP)
6835
0x9D0037C8      0x14400003  BNE R2, R0, L_cmd_chip_read_page1
6836
0x9D0037CC      0x87BC0008  LH  R28, 8(SP)
6837
L__cmd_chip_read_page17:
6838
0x9D0037D0      0x0B400DEA  J   L_cmd_chip_read_page0
6839
0x9D0037D4      0x70000000  NOP
6840
L_cmd_chip_read_page1:
6841
;CMD_ReadPage.c, 16 ::          for(i = 0; i < len; i += 64)
6842
0x9D0037D8      0xA7A00014  SH  R0, 20(SP)
6843
L_cmd_chip_read_page2:
6844
0x9D0037DC      0x7C1B1E20  SEH R3, R27
6845
0x9D0037E0      0x87A20014  LH  R2, 20(SP)
6846
0x9D0037E4      0x0043102A  SLT R2, R2, R3
6847
0x9D0037E8      0x10400022  BEQ R2, R0, L_cmd_chip_read_page3
6848
0x9D0037EC      0x70000000  NOP
6849
L__cmd_chip_read_page18:
6850
;CMD_ReadPage.c, 18 ::          nand_read(outBuffer, 64);
6851
0x9D0037F0      0xA7BC0008  SH  R28, 8(SP)
6852
0x9D0037F4      0xA7BB000A  SH  R27, 10(SP)
6853
0x9D0037F8      0xAFBA000C  SW  R26, 12(SP)
6854
0x9D0037FC      0xAFB90010  SW  R25, 16(SP)
6855
0x9D003800      0x0340C80A  MOVZ        R25, R26, R0
6856
0x9D003804      0x0F4008B7  JAL _nand_read+0
6857
0x9D003808      0x341A0040  ORI R26, R0, 64
6858
0x9D00380C      0x8FB90010  LW  R25, 16(SP)
6859
0x9D003810      0x8FBA000C  LW  R26, 12(SP)
6860
0x9D003814      0x87BB000A  LH  R27, 10(SP)
6861
0x9D003818      0x87BC0008  LH  R28, 8(SP)
6862
;CMD_ReadPage.c, 20 ::          while(0 == HID_Write(outBuffer, 64))
6863
L_cmd_chip_read_page5:
6864
0x9D00381C      0xA7BC0008  SH  R28, 8(SP)
6865
0x9D003820      0xA7BB000A  SH  R27, 10(SP)
6866
0x9D003824      0xAFBA000C  SW  R26, 12(SP)
6867
0x9D003828      0xAFB90010  SW  R25, 16(SP)
6868
0x9D00382C      0x0340C80A  MOVZ        R25, R26, R0
6869
0x9D003830      0x0F401059  JAL _HID_Write+0
6870
0x9D003834      0x341A0040  ORI R26, R0, 64
6871
0x9D003838      0x8FB90010  LW  R25, 16(SP)
6872
0x9D00383C      0x8FBA000C  LW  R26, 12(SP)
6873
0x9D003840      0x87BB000A  LH  R27, 10(SP)
6874
0x9D003844      0x87BC0008  LH  R28, 8(SP)
6875
0x9D003848      0x304200FF  ANDI        R2, R2, 255
6876
0x9D00384C      0x14400005  BNE R2, R0, L_cmd_chip_read_page6
6877
0x9D003850      0x70000000  NOP
6878
L__cmd_chip_read_page19:
6879
;CMD_ReadPage.c, 21 ::          USB_Break();
6880
0x9D003854      0x0F400A60  JAL _USB_Break+0
6881
0x9D003858      0x70000000  NOP
6882
0x9D00385C      0x0B400E07  J   L_cmd_chip_read_page5
6883
0x9D003860      0x70000000  NOP
6884
L_cmd_chip_read_page6:
6885
;CMD_ReadPage.c, 16 ::          for(i = 0; i < len; i += 64)
6886
0x9D003864      0x87A20014  LH  R2, 20(SP)
6887
0x9D003868      0x24420040  ADDIU       R2, R2, 64
6888
;CMD_ReadPage.c, 22 ::          }
6889
0x9D00386C      0x0B400DF7  J   L_cmd_chip_read_page2
6890
0x9D003870      0xA7A20014  SH  R2, 20(SP)
6891
L_cmd_chip_read_page3:
6892
;CMD_ReadPage.c, 24 ::          }
6893
L_end_cmd_chip_read_page:
6894
0x9D003874      0x8FB90004  LW  R25, 4(SP)
6895
0x9D003878      0x8FBF0000  LW  RA, 0(SP)
6896
0x9D00387C      0x03E00008  JR  RA
6897
0x9D003880      0x27BD0018  ADDIU       SP, SP, 24
6898
; end of _cmd_chip_read_page
6899
_USB_Break:
6900
;__Lib_USB.c, 1979 ::
6901
0x9D002980      0x27BDFFFC  ADDIU       SP, SP, -4
6902
;__Lib_USB.c, 1980 ::
6903
0x9D002984      0x34020001  ORI R2, R0, 1
6904
0x9D002988      0xAC22ACE8  SW  R2, Offset(__Lib_USB__USB_Stop_Waiting+0)(GP)
6905
;__Lib_USB.c, 1981 ::
6906
L_end_USB_Break:
6907
0x9D00298C      0x03E00008  JR  RA
6908
0x9D002990      0x27BD0004  ADDIU       SP, SP, 4
6909
; end of _USB_Break
6910
_cmd_chip_read_page_cache_sequential:
6911
;CMD_ReadPage.c, 32 ::          void cmd_chip_read_page_cache_sequential(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCycles)
6912
0x9D003884      0x27BDFFE8  ADDIU       SP, SP, -24
6913
0x9D003888      0xAFBF0000  SW  RA, 0(SP)
6914
;CMD_ReadPage.c, 34 ::          int i = 0;
6915
0x9D00388C      0xAFB90004  SW  R25, 4(SP)
6916
;CMD_ReadPage.c, 35 ::          int j = *(int*)(inBuffer + 6);
6917
0x9D003890      0x27220006  ADDIU       R2, R25, 6
6918
0x9D003894      0x84420000  LH  R2, 0(R2)
6919
0x9D003898      0xA7A20014  SH  R2, 20(SP)
6920
;CMD_ReadPage.c, 37 ::          nand_send_command(NC_READ_MODE);
6921
0x9D00389C      0xA7BC0008  SH  R28, 8(SP)
6922
0x9D0038A0      0xA7BB000A  SH  R27, 10(SP)
6923
0x9D0038A4      0xAFBA000C  SW  R26, 12(SP)
6924
0x9D0038A8      0xAFB90010  SW  R25, 16(SP)
6925
0x9D0038AC      0x0F40087F  JAL _nand_send_command+0
6926
0x9D0038B0      0x0000C80A  MOVZ        R25, R0, R0
6927
0x9D0038B4      0x8FB90010  LW  R25, 16(SP)
6928
0x9D0038B8      0x8FBA000C  LW  R26, 12(SP)
6929
0x9D0038BC      0x87BB000A  LH  R27, 10(SP)
6930
0x9D0038C0      0x87BC0008  LH  R28, 8(SP)
6931
;CMD_ReadPage.c, 38 ::          nand_send_address(inBuffer + 1, addressCycles);
6932
0x9D0038C4      0x27220001  ADDIU       R2, R25, 1
6933
0x9D0038C8      0xA7BB0008  SH  R27, 8(SP)
6934
0x9D0038CC      0xAFBA000C  SW  R26, 12(SP)
6935
0x9D0038D0      0x7C1CD620  SEH R26, R28
6936
0x9D0038D4      0x0F400A65  JAL _nand_send_address+0
6937
0x9D0038D8      0x0040C80A  MOVZ        R25, R2, R0
6938
;CMD_ReadPage.c, 39 ::          nand_send_command(NC_READ_PAGE);
6939
0x9D0038DC      0x0F40087F  JAL _nand_send_command+0
6940
0x9D0038E0      0x34190030  ORI R25, R0, 48
6941
;CMD_ReadPage.c, 40 ::          do_delay(5);
6942
0x9D0038E4      0x0F40084C  JAL _do_delay+0
6943
0x9D0038E8      0x34190005  ORI R25, R0, 5
6944
;CMD_ReadPage.c, 41 ::          nand_wait_ready();
6945
0x9D0038EC      0x0F400840  JAL _nand_wait_ready+0
6946
0x9D0038F0      0x70000000  NOP
6947
0x9D0038F4      0x8FBA000C  LW  R26, 12(SP)
6948
0x9D0038F8      0x87BB0008  LH  R27, 8(SP)
6949
;CMD_ReadPage.c, 42 ::          while(j > 0)
6950
L_cmd_chip_read_page_cache_sequential7:
6951
0x9D0038FC      0x87A20014  LH  R2, 20(SP)
6952
0x9D003900      0x28420001  SLTI        R2, R2, 1
6953
0x9D003904      0x1440003D  BNE R2, R0, L_cmd_chip_read_page_cache_sequential8
6954
0x9D003908      0x70000000  NOP
6955
L__cmd_chip_read_page_cache_sequential21:
6956
;CMD_ReadPage.c, 44 ::          nand_send_command( (j > 1)? NC_READ_PAGE_CACHE_SEQ : NC_READ_PAGE_CACHE_LAST);
6957
0x9D00390C      0x87A20014  LH  R2, 20(SP)
6958
0x9D003910      0x28420002  SLTI        R2, R2, 2
6959
0x9D003914      0x14400003  BNE R2, R0, L_cmd_chip_read_page_cache_sequential9
6960
0x9D003918      0x70000000  NOP
6961
L__cmd_chip_read_page_cache_sequential22:
6962
; ?FLOC___cmd_chip_read_page_cache_sequential?T14 start address is: 8 (R2)
6963
; ?FLOC___cmd_chip_read_page_cache_sequential?T14 end address is: 8 (R2)
6964
0x9D00391C      0x0B400E4A  J   L_cmd_chip_read_page_cache_sequential10
6965
0x9D003920      0x34020031  ORI R2, R0, 49
6966
L_cmd_chip_read_page_cache_sequential9:
6967
; ?FLOC___cmd_chip_read_page_cache_sequential?T14 start address is: 8 (R2)
6968
0x9D003924      0x3402003F  ORI R2, R0, 63
6969
; ?FLOC___cmd_chip_read_page_cache_sequential?T14 end address is: 8 (R2)
6970
L_cmd_chip_read_page_cache_sequential10:
6971
; ?FLOC___cmd_chip_read_page_cache_sequential?T14 start address is: 8 (R2)
6972
0x9D003928      0xA7BC0008  SH  R28, 8(SP)
6973
; ?FLOC___cmd_chip_read_page_cache_sequential?T14 end address is: 8 (R2)
6974
0x9D00392C      0xA7BB000A  SH  R27, 10(SP)
6975
0x9D003930      0xAFBA000C  SW  R26, 12(SP)
6976
0x9D003934      0xAFB90010  SW  R25, 16(SP)
6977
0x9D003938      0x0F40087F  JAL _nand_send_command+0
6978
0x9D00393C      0x7C02CC20  SEB R25, R2
6979
;CMD_ReadPage.c, 45 ::          j--;
6980
0x9D003940      0x87A20014  LH  R2, 20(SP)
6981
0x9D003944      0x2442FFFF  ADDIU       R2, R2, -1
6982
;CMD_ReadPage.c, 47 ::          nand_wait_ready();
6983
0x9D003948      0x0F400840  JAL _nand_wait_ready+0
6984
0x9D00394C      0xA7A20014  SH  R2, 20(SP)
6985
0x9D003950      0x8FB90010  LW  R25, 16(SP)
6986
0x9D003954      0x8FBA000C  LW  R26, 12(SP)
6987
0x9D003958      0x87BB000A  LH  R27, 10(SP)
6988
0x9D00395C      0x87BC0008  LH  R28, 8(SP)
6989
;CMD_ReadPage.c, 49 ::          for(i = 0; i < len; i += 64)
6990
0x9D003960      0xA7A00016  SH  R0, 22(SP)
6991
L_cmd_chip_read_page_cache_sequential11:
6992
0x9D003964      0x7C1B1E20  SEH R3, R27
6993
0x9D003968      0x87A20016  LH  R2, 22(SP)
6994
0x9D00396C      0x0043102A  SLT R2, R2, R3
6995
0x9D003970      0x10400020  BEQ R2, R0, L_cmd_chip_read_page_cache_sequential12
6996
0x9D003974      0x70000000  NOP
6997
L__cmd_chip_read_page_cache_sequential23:
6998
;CMD_ReadPage.c, 51 ::          nand_read(outBuffer, 64);
6999
0x9D003978      0xA7BC0008  SH  R28, 8(SP)
7000
0x9D00397C      0xA7BB000A  SH  R27, 10(SP)
7001
0x9D003980      0xAFBA000C  SW  R26, 12(SP)
7002
0x9D003984      0xAFB90010  SW  R25, 16(SP)
7003
0x9D003988      0x0340C80A  MOVZ        R25, R26, R0
7004
0x9D00398C      0x0F4008B7  JAL _nand_read+0
7005
0x9D003990      0x341A0040  ORI R26, R0, 64
7006
0x9D003994      0x8FB90010  LW  R25, 16(SP)
7007
0x9D003998      0x8FBA000C  LW  R26, 12(SP)
7008
0x9D00399C      0x87BB000A  LH  R27, 10(SP)
7009
0x9D0039A0      0x87BC0008  LH  R28, 8(SP)
7010
;CMD_ReadPage.c, 52 ::          while(!HID_Write(outBuffer, 64));
7011
L_cmd_chip_read_page_cache_sequential14:
7012
0x9D0039A4      0xA7BC0008  SH  R28, 8(SP)
7013
0x9D0039A8      0xA7BB000A  SH  R27, 10(SP)
7014
0x9D0039AC      0xAFBA000C  SW  R26, 12(SP)
7015
0x9D0039B0      0xAFB90010  SW  R25, 16(SP)
7016
0x9D0039B4      0x0340C80A  MOVZ        R25, R26, R0
7017
0x9D0039B8      0x0F401059  JAL _HID_Write+0
7018
0x9D0039BC      0x341A0040  ORI R26, R0, 64
7019
0x9D0039C0      0x8FB90010  LW  R25, 16(SP)
7020
0x9D0039C4      0x8FBA000C  LW  R26, 12(SP)
7021
0x9D0039C8      0x87BB000A  LH  R27, 10(SP)
7022
0x9D0039CC      0x14400003  BNE R2, R0, L_cmd_chip_read_page_cache_sequential15
7023
0x9D0039D0      0x87BC0008  LH  R28, 8(SP)
7024
L__cmd_chip_read_page_cache_sequential24:
7025
0x9D0039D4      0x0B400E69  J   L_cmd_chip_read_page_cache_sequential14
7026
0x9D0039D8      0x70000000  NOP
7027
L_cmd_chip_read_page_cache_sequential15:
7028
;CMD_ReadPage.c, 53 ::          USB_Break();
7029
0x9D0039DC      0x0F400A60  JAL _USB_Break+0
7030
0x9D0039E0      0x70000000  NOP
7031
;CMD_ReadPage.c, 49 ::          for(i = 0; i < len; i += 64)
7032
0x9D0039E4      0x87A20016  LH  R2, 22(SP)
7033
0x9D0039E8      0x24420040  ADDIU       R2, R2, 64
7034
;CMD_ReadPage.c, 55 ::          }
7035
0x9D0039EC      0x0B400E59  J   L_cmd_chip_read_page_cache_sequential11
7036
0x9D0039F0      0xA7A20016  SH  R2, 22(SP)
7037
L_cmd_chip_read_page_cache_sequential12:
7038
;CMD_ReadPage.c, 56 ::          }
7039
0x9D0039F4      0x0B400E3F  J   L_cmd_chip_read_page_cache_sequential7
7040
0x9D0039F8      0x70000000  NOP
7041
L_cmd_chip_read_page_cache_sequential8:
7042
;CMD_ReadPage.c, 57 ::          }
7043
L_end_cmd_chip_read_page_cache_sequential:
7044
0x9D0039FC      0x8FB90004  LW  R25, 4(SP)
7045
0x9D003A00      0x8FBF0000  LW  RA, 0(SP)
7046
0x9D003A04      0x03E00008  JR  RA
7047
0x9D003A08      0x27BD0018  ADDIU       SP, SP, 24
7048
; end of _cmd_chip_read_page_cache_sequential
7049
_nand_wait_ready:
7050
;NandControl.c, 67 ::           void nand_wait_ready()
7051
0x9D002100      0x27BDFFFC  ADDIU       SP, SP, -4
7052
0x9D002104      0xAFBF0000  SW  RA, 0(SP)
7053
;NandControl.c, 69 ::           while(0 == nand_is_ready());
7054
L_nand_wait_ready2:
7055
0x9D002108      0x0F400898  JAL _nand_is_ready+0
7056
0x9D00210C      0x70000000  NOP
7057
0x9D002110      0x7C021620  SEH R2, R2
7058
0x9D002114      0x14400003  BNE R2, R0, L_nand_wait_ready3
7059
0x9D002118      0x70000000  NOP
7060
L__nand_wait_ready32:
7061
0x9D00211C      0x0B400842  J   L_nand_wait_ready2
7062
0x9D002120      0x70000000  NOP
7063
L_nand_wait_ready3:
7064
;NandControl.c, 70 ::           }
7065
L_end_nand_wait_ready:
7066
0x9D002124      0x8FBF0000  LW  RA, 0(SP)
7067
0x9D002128      0x03E00008  JR  RA
7068
0x9D00212C      0x27BD0004  ADDIU       SP, SP, 4
7069
; end of _nand_wait_ready
7070
_cmd_chip_read_status:
7071
;CMD_Status.c, 5 ::             unsigned char cmd_chip_read_status()
7072
0x9D003A8C      0x27BDFFF0  ADDIU       SP, SP, -16
7073
0x9D003A90      0xAFBF0000  SW  RA, 0(SP)
7074
;CMD_Status.c, 8 ::             nand_send_command(NC_READ_STATUS);
7075
0x9D003A94      0xAFB90004  SW  R25, 4(SP)
7076
0x9D003A98      0xAFBA0008  SW  R26, 8(SP)
7077
0x9D003A9C      0x0F40087F  JAL _nand_send_command+0
7078
0x9D003AA0      0x34190070  ORI R25, R0, 112
7079
;CMD_Status.c, 9 ::             do_delay(5);
7080
0x9D003AA4      0x0F40084C  JAL _do_delay+0
7081
0x9D003AA8      0x34190005  ORI R25, R0, 5
7082
;CMD_Status.c, 10 ::            nand_read(&r, 1);
7083
0x9D003AAC      0x27A2000C  ADDIU       R2, SP, 12
7084
0x9D003AB0      0x341A0001  ORI R26, R0, 1
7085
0x9D003AB4      0x0F4008B7  JAL _nand_read+0
7086
0x9D003AB8      0x0040C80A  MOVZ        R25, R2, R0
7087
;CMD_Status.c, 11 ::            return r;
7088
0x9D003ABC      0x93A2000C  LBU R2, 12(SP)
7089
;CMD_Status.c, 12 ::            }
7090
;CMD_Status.c, 11 ::            return r;
7091
;CMD_Status.c, 12 ::            }
7092
L_end_cmd_chip_read_status:
7093
0x9D003AC0      0x8FBA0008  LW  R26, 8(SP)
7094
0x9D003AC4      0x8FB90004  LW  R25, 4(SP)
7095
0x9D003AC8      0x8FBF0000  LW  RA, 0(SP)
7096
0x9D003ACC      0x03E00008  JR  RA
7097
0x9D003AD0      0x27BD0010  ADDIU       SP, SP, 16
7098
; end of _cmd_chip_read_status
7099
_cmd_chip_read_unique_id:
7100
;CMD_ReadID.c, 18 ::            void cmd_chip_read_unique_id(unsigned char* outBuffer)
7101
0x9D003CB4      0x27BDFFF4  ADDIU       SP, SP, -12
7102
0x9D003CB8      0xAFBF0000  SW  RA, 0(SP)
7103
;CMD_ReadID.c, 20 ::            nand_send_command(NC_READ_UNIQUE_ID);
7104
0x9D003CBC      0xAFBA0004  SW  R26, 4(SP)
7105
0x9D003CC0      0xAFB90008  SW  R25, 8(SP)
7106
0x9D003CC4      0x0F40087F  JAL _nand_send_command+0
7107
0x9D003CC8      0x341900ED  ORI R25, R0, 237
7108
;CMD_ReadID.c, 21 ::            nand_send_address(0, 1);
7109
0x9D003CCC      0x341A0001  ORI R26, R0, 1
7110
0x9D003CD0      0x0F400A65  JAL _nand_send_address+0
7111
0x9D003CD4      0x0000C80A  MOVZ        R25, R0, R0
7112
;CMD_ReadID.c, 22 ::            do_delay(10);
7113
0x9D003CD8      0x0F40084C  JAL _do_delay+0
7114
0x9D003CDC      0x3419000A  ORI R25, R0, 10
7115
;CMD_ReadID.c, 23 ::            nand_wait_ready();
7116
0x9D003CE0      0x0F400840  JAL _nand_wait_ready+0
7117
0x9D003CE4      0x70000000  NOP
7118
;CMD_ReadID.c, 24 ::            do_delay(2500);
7119
0x9D003CE8      0x0F40084C  JAL _do_delay+0
7120
0x9D003CEC      0x341909C4  ORI R25, R0, 2500
7121
0x9D003CF0      0x8FB90008  LW  R25, 8(SP)
7122
;CMD_ReadID.c, 25 ::            while(0 != (cmd_chip_read_status() & 0x0f));
7123
L_cmd_chip_read_unique_id4:
7124
0x9D003CF4      0x0F400EA3  JAL _cmd_chip_read_status+0
7125
0x9D003CF8      0xAFB90008  SW  R25, 8(SP)
7126
0x9D003CFC      0x8FB90008  LW  R25, 8(SP)
7127
0x9D003D00      0x3042000F  ANDI        R2, R2, 15
7128
0x9D003D04      0x304200FF  ANDI        R2, R2, 255
7129
0x9D003D08      0x10400003  BEQ R2, R0, L_cmd_chip_read_unique_id5
7130
0x9D003D0C      0x70000000  NOP
7131
L__cmd_chip_read_unique_id11:
7132
0x9D003D10      0x0B400F3D  J   L_cmd_chip_read_unique_id4
7133
0x9D003D14      0x70000000  NOP
7134
L_cmd_chip_read_unique_id5:
7135
;CMD_ReadID.c, 26 ::            nand_send_command(NC_READ_MODE);
7136
0x9D003D18      0xAFB90008  SW  R25, 8(SP)
7137
0x9D003D1C      0x0F40087F  JAL _nand_send_command+0
7138
0x9D003D20      0x0000C80A  MOVZ        R25, R0, R0
7139
0x9D003D24      0x8FB90008  LW  R25, 8(SP)
7140
;CMD_ReadID.c, 27 ::            nand_read(outBuffer, 64);
7141
0x9D003D28      0xAFB90008  SW  R25, 8(SP)
7142
0x9D003D2C      0x0F4008B7  JAL _nand_read+0
7143
0x9D003D30      0x341A0040  ORI R26, R0, 64
7144
0x9D003D34      0x8FB90008  LW  R25, 8(SP)
7145
;CMD_ReadID.c, 28 ::            }
7146
L_end_cmd_chip_read_unique_id:
7147
0x9D003D38      0x8FBA0004  LW  R26, 4(SP)
7148
0x9D003D3C      0x8FBF0000  LW  RA, 0(SP)
7149
0x9D003D40      0x03E00008  JR  RA
7150
0x9D003D44      0x27BD000C  ADDIU       SP, SP, 12
7151
; end of _cmd_chip_read_unique_id
7152
_cmd_chip_block_erase:
7153
;CMD_BlockErase.c, 5 ::                 void cmd_chip_block_erase(unsigned char* inBuffer)
7154
0x9D003D48      0x27BDFFF0  ADDIU       SP, SP, -16
7155
0x9D003D4C      0xAFBF0000  SW  RA, 0(SP)
7156
;CMD_BlockErase.c, 7 ::                 nand_send_command(NC_BLOCK_ERASE1);
7157
0x9D003D50      0xAFB90004  SW  R25, 4(SP)
7158
0x9D003D54      0xAFBA0008  SW  R26, 8(SP)
7159
0x9D003D58      0xAFB9000C  SW  R25, 12(SP)
7160
0x9D003D5C      0x0F40087F  JAL _nand_send_command+0
7161
0x9D003D60      0x34190060  ORI R25, R0, 96
7162
0x9D003D64      0x8FB9000C  LW  R25, 12(SP)
7163
;CMD_BlockErase.c, 8 ::                 nand_send_address(inBuffer + 1, 3);
7164
0x9D003D68      0x27220001  ADDIU       R2, R25, 1
7165
0x9D003D6C      0x341A0003  ORI R26, R0, 3
7166
0x9D003D70      0x0F400A65  JAL _nand_send_address+0
7167
0x9D003D74      0x0040C80A  MOVZ        R25, R2, R0
7168
;CMD_BlockErase.c, 9 ::                 do_delay(100);
7169
0x9D003D78      0x0F40084C  JAL _do_delay+0
7170
0x9D003D7C      0x34190064  ORI R25, R0, 100
7171
;CMD_BlockErase.c, 10 ::                nand_send_command(NC_BLOCK_ERASE2);
7172
0x9D003D80      0x0F40087F  JAL _nand_send_command+0
7173
0x9D003D84      0x341900D0  ORI R25, R0, 208
7174
;CMD_BlockErase.c, 11 ::                do_delay(100);
7175
0x9D003D88      0x0F40084C  JAL _do_delay+0
7176
0x9D003D8C      0x34190064  ORI R25, R0, 100
7177
;CMD_BlockErase.c, 12 ::                nand_wait_ready();
7178
0x9D003D90      0x0F400840  JAL _nand_wait_ready+0
7179
0x9D003D94      0x70000000  NOP
7180
;CMD_BlockErase.c, 13 ::                }
7181
L_end_cmd_chip_block_erase:
7182
0x9D003D98      0x8FBA0008  LW  R26, 8(SP)
7183
0x9D003D9C      0x8FB90004  LW  R25, 4(SP)
7184
0x9D003DA0      0x8FBF0000  LW  RA, 0(SP)
7185
0x9D003DA4      0x03E00008  JR  RA
7186
0x9D003DA8      0x27BD0010  ADDIU       SP, SP, 16
7187
; end of _cmd_chip_block_erase
7188
_nand_toggle_wp:
7189
;NandControl.c, 175 ::          void nand_toggle_wp()
7190
;NandControl.c, 177 ::          ctrl_nwp = ~ctrl_nwp;
7191
0x9D003DAC      0x3C1EBF88  LUI R30, 49032
7192
0x9D003DB0      0x83C26120  LB  R2, 24864(R30)
7193
0x9D003DB4      0x7C420040  EXT R2, R2, 1, 1
7194
0x9D003DB8      0x38430001  XORI        R3, R2, 1
7195
0x9D003DBC      0x3C1EBF88  LUI R30, 49032
7196
0x9D003DC0      0x83C26120  LB  R2, 24864(R30)
7197
0x9D003DC4      0x7C620844  INS R2, R3, 1, 1
7198
0x9D003DC8      0x3C1EBF88  LUI R30, 49032
7199
0x9D003DCC      0xA3C26120  SB  R2, 24864(R30)
7200
;NandControl.c, 178 ::          Delay_us(2);
7201
0x9D003DD0      0x3C180000  LUI R24, 0
7202
0x9D003DD4      0x37180034  ORI R24, R24, 52
7203
L_nand_toggle_wp26:
7204
0x9D003DD8      0x2718FFFF  ADDIU       R24, R24, -1
7205
0x9D003DDC      0x1700FFFE  BNE R24, R0, L_nand_toggle_wp26
7206
0x9D003DE0      0x70000000  NOP
7207
0x9D003DE4      0x70000000  NOP
7208
0x9D003DE8      0x70000000  NOP
7209
;NandControl.c, 179 ::          }
7210
L_end_nand_toggle_wp:
7211
0x9D003DEC      0x03E00008  JR  RA
7212
0x9D003DF0      0x70000000  NOP
7213
; end of _nand_toggle_wp
7214
_cmd_chip_page_program:
7215
;CMD_PageProgram.c, 7 ::                unsigned char cmd_chip_page_program(unsigned char* inBuffer, int addressCycles, int pageSize)
7216
0x9D003AD4      0x27BDFFF0  ADDIU       SP, SP, -16
7217
0x9D003AD8      0xAFBF0000  SW  RA, 0(SP)
7218
;CMD_PageProgram.c, 9 ::                int i = 0, b;
7219
0x9D003ADC      0x0000F00A  MOVZ        R30, R0, R0
7220
0x9D003AE0      0xA7BE000E  SH  R30, 14(SP)
7221
;CMD_PageProgram.c, 10 ::               nand_send_command(NC_PAGE_PROGRAM_START);
7222
0x9D003AE4      0xA7BB0004  SH  R27, 4(SP)
7223
0x9D003AE8      0xA7BA0006  SH  R26, 6(SP)
7224
0x9D003AEC      0xAFB90008  SW  R25, 8(SP)
7225
0x9D003AF0      0x0F40087F  JAL _nand_send_command+0
7226
0x9D003AF4      0x34190080  ORI R25, R0, 128
7227
0x9D003AF8      0x8FB90008  LW  R25, 8(SP)
7228
0x9D003AFC      0x87BA0006  LH  R26, 6(SP)
7229
;CMD_PageProgram.c, 11 ::               nand_send_address(inBuffer + 1, addressCycles);
7230
0x9D003B00      0x27220001  ADDIU       R2, R25, 1
7231
0x9D003B04      0xAFB90008  SW  R25, 8(SP)
7232
0x9D003B08      0x0F400A65  JAL _nand_send_address+0
7233
0x9D003B0C      0x0040C80A  MOVZ        R25, R2, R0
7234
;CMD_PageProgram.c, 12 ::               do_delay(5);
7235
0x9D003B10      0x0F40084C  JAL _do_delay+0
7236
0x9D003B14      0x34190005  ORI R25, R0, 5
7237
0x9D003B18      0x8FB90008  LW  R25, 8(SP)
7238
0x9D003B1C      0x87BB0004  LH  R27, 4(SP)
7239
;CMD_PageProgram.c, 13 ::               while(i < pageSize)
7240
L_cmd_chip_page_program0:
7241
0x9D003B20      0x7C1B1E20  SEH R3, R27
7242
0x9D003B24      0x87A2000E  LH  R2, 14(SP)
7243
0x9D003B28      0x0043102A  SLT R2, R2, R3
7244
0x9D003B2C      0x10400020  BEQ R2, R0, L_cmd_chip_page_program1
7245
0x9D003B30      0x70000000  NOP
7246
L__cmd_chip_page_program5:
7247
;CMD_PageProgram.c, 15 ::               USB_Polling_Proc();
7248
0x9D003B34      0xA7BB0004  SH  R27, 4(SP)
7249
0x9D003B38      0xA7BA0006  SH  R26, 6(SP)
7250
0x9D003B3C      0x0F400FE8  JAL _USB_Polling_Proc+0
7251
0x9D003B40      0xAFB90008  SW  R25, 8(SP)
7252
0x9D003B44      0x8FB90008  LW  R25, 8(SP)
7253
0x9D003B48      0x87BA0006  LH  R26, 6(SP)
7254
0x9D003B4C      0x87BB0004  LH  R27, 4(SP)
7255
;CMD_PageProgram.c, 16 ::               while(0 == (b = HID_Read()))
7256
L_cmd_chip_page_program2:
7257
0x9D003B50      0x0F400F7D  JAL _HID_Read+0
7258
0x9D003B54      0x70000000  NOP
7259
0x9D003B58      0x304200FF  ANDI        R2, R2, 255
7260
0x9D003B5C      0xA7A2000C  SH  R2, 12(SP)
7261
0x9D003B60      0x87A2000C  LH  R2, 12(SP)
7262
0x9D003B64      0x14400005  BNE R2, R0, L_cmd_chip_page_program3
7263
0x9D003B68      0x70000000  NOP
7264
L__cmd_chip_page_program6:
7265
;CMD_PageProgram.c, 17 ::               USB_Break();
7266
0x9D003B6C      0x0F400A60  JAL _USB_Break+0
7267
0x9D003B70      0x70000000  NOP
7268
0x9D003B74      0x0B400ED4  J   L_cmd_chip_page_program2
7269
0x9D003B78      0x70000000  NOP
7270
L_cmd_chip_page_program3:
7271
;CMD_PageProgram.c, 19 ::               nand_write(inBuffer, b);
7272
0x9D003B7C      0xA7BB0004  SH  R27, 4(SP)
7273
0x9D003B80      0xA7BA0006  SH  R26, 6(SP)
7274
0x9D003B84      0xAFB90008  SW  R25, 8(SP)
7275
0x9D003B88      0x0F400858  JAL _nand_write+0
7276
0x9D003B8C      0x87BA000C  LH  R26, 12(SP)
7277
0x9D003B90      0x8FB90008  LW  R25, 8(SP)
7278
0x9D003B94      0x87BA0006  LH  R26, 6(SP)
7279
0x9D003B98      0x87BB0004  LH  R27, 4(SP)
7280
;CMD_PageProgram.c, 20 ::               i += b;
7281
0x9D003B9C      0x87A3000C  LH  R3, 12(SP)
7282
0x9D003BA0      0x87A2000E  LH  R2, 14(SP)
7283
0x9D003BA4      0x00431021  ADDU        R2, R2, R3
7284
;CMD_PageProgram.c, 21 ::               }
7285
0x9D003BA8      0x0B400EC8  J   L_cmd_chip_page_program0
7286
0x9D003BAC      0xA7A2000E  SH  R2, 14(SP)
7287
L_cmd_chip_page_program1:
7288
;CMD_PageProgram.c, 22 ::               do_delay(5);
7289
0x9D003BB0      0xA7BB0004  SH  R27, 4(SP)
7290
0x9D003BB4      0xA7BA0006  SH  R26, 6(SP)
7291
0x9D003BB8      0xAFB90008  SW  R25, 8(SP)
7292
0x9D003BBC      0x0F40084C  JAL _do_delay+0
7293
0x9D003BC0      0x34190005  ORI R25, R0, 5
7294
;CMD_PageProgram.c, 23 ::               nand_send_command(NC_PAGE_PROGRAM_END);
7295
0x9D003BC4      0x0F40087F  JAL _nand_send_command+0
7296
0x9D003BC8      0x34190010  ORI R25, R0, 16
7297
;CMD_PageProgram.c, 24 ::               do_delay(100);
7298
0x9D003BCC      0x0F40084C  JAL _do_delay+0
7299
0x9D003BD0      0x34190064  ORI R25, R0, 100
7300
;CMD_PageProgram.c, 25 ::               nand_wait_ready();
7301
0x9D003BD4      0x0F400840  JAL _nand_wait_ready+0
7302
0x9D003BD8      0x70000000  NOP
7303
;CMD_PageProgram.c, 26 ::               return cmd_chip_read_status();
7304
0x9D003BDC      0x0F400EA3  JAL _cmd_chip_read_status+0
7305
0x9D003BE0      0x70000000  NOP
7306
0x9D003BE4      0x8FB90008  LW  R25, 8(SP)
7307
0x9D003BE8      0x87BA0006  LH  R26, 6(SP)
7308
0x9D003BEC      0x87BB0004  LH  R27, 4(SP)
7309
;CMD_PageProgram.c, 27 ::               }
7310
L_end_cmd_chip_page_program:
7311
0x9D003BF0      0x8FBF0000  LW  RA, 0(SP)
7312
0x9D003BF4      0x03E00008  JR  RA
7313
0x9D003BF8      0x27BD0010  ADDIU       SP, SP, 16
7314
; end of _cmd_chip_page_program
7315
_nand_write:
7316
;NandControl.c, 145 ::          void nand_write(unsigned char* buffer, int len)
7317
0x9D002160      0x27BDFFF4  ADDIU       SP, SP, -12
7318
0x9D002164      0xAFBF0000  SW  RA, 0(SP)
7319
;NandControl.c, 148 ::          ctrl_cle = 0;
7320
0x9D002168      0x34020080  ORI R2, R0, 0x0080
7321
0x9D00216C      0x3C1EBF88  LUI R30, 49032
7322
0x9D002170      0xA3C26065  SB  R2, 24677(R30)
7323
;NandControl.c, 149 ::          ctrl_ale = 0;
7324
0x9D002174      0x34020001  ORI R2, R0, 0x0001
7325
0x9D002178      0x3C1EBF88  LUI R30, 49032
7326
0x9D00217C      0xA3C260E4  SB  R2, 24804(R30)
7327
;NandControl.c, 150 ::          ctrl_nre = 1;
7328
0x9D002180      0x34020010  ORI R2, R0, 0x0010
7329
0x9D002184      0x3C1EBF88  LUI R30, 49032
7330
0x9D002188      0xA3C260E8  SB  R2, 24808(R30)
7331
;NandControl.c, 151 ::          for(i = 0; i < len; i++)
7332
; i start address is: 16 (R4)
7333
0x9D00218C      0x0000200A  MOVZ        R4, R0, R0
7334
; i end address is: 16 (R4)
7335
L_nand_write16:
7336
; i start address is: 16 (R4)
7337
0x9D002190      0x7C041E20  SEH R3, R4
7338
0x9D002194      0x7C1A1620  SEH R2, R26
7339
0x9D002198      0x0062102A  SLT R2, R3, R2
7340
0x9D00219C      0x10400014  BEQ R2, R0, L_nand_write17
7341
0x9D0021A0      0x70000000  NOP
7342
L__nand_write48:
7343
;NandControl.c, 153 ::          data_line_write_byte(*(buffer + i));
7344
0x9D0021A4      0x7C041620  SEH R2, R4
7345
0x9D0021A8      0x03221021  ADDU        R2, R25, R2
7346
0x9D0021AC      0xA7A40004  SH  R4, 4(SP)
7347
0x9D0021B0      0xA7BA0006  SH  R26, 6(SP)
7348
0x9D0021B4      0xAFB90008  SW  R25, 8(SP)
7349
0x9D0021B8      0x0F40069B  JAL _data_line_write_byte+0
7350
0x9D0021BC      0x90590000  LBU R25, 0(R2)
7351
0x9D0021C0      0x8FB90008  LW  R25, 8(SP)
7352
0x9D0021C4      0x87BA0006  LH  R26, 6(SP)
7353
0x9D0021C8      0x87A40004  LH  R4, 4(SP)
7354
;NandControl.c, 154 ::          ctrl_nwe = 0;
7355
0x9D0021CC      0x34020001  ORI R2, R0, 0x0001
7356
0x9D0021D0      0x3C1EBF88  LUI R30, 49032
7357
0x9D0021D4      0xA3C26124  SB  R2, 24868(R30)
7358
;NandControl.c, 155 ::          ctrl_nwe = 1;
7359
0x9D0021D8      0x34020001  ORI R2, R0, 0x0001
7360
0x9D0021DC      0x3C1EBF88  LUI R30, 49032
7361
0x9D0021E0      0xA3C26128  SB  R2, 24872(R30)
7362
;NandControl.c, 151 ::          for(i = 0; i < len; i++)
7363
0x9D0021E4      0x24820001  ADDIU       R2, R4, 1
7364
;NandControl.c, 156 ::          }
7365
; i end address is: 16 (R4)
7366
0x9D0021E8      0x0B400864  J   L_nand_write16
7367
0x9D0021EC      0x7C022620  SEH R4, R2
7368
L_nand_write17:
7369
;NandControl.c, 157 ::          }
7370
L_end_nand_write:
7371
0x9D0021F0      0x8FBF0000  LW  RA, 0(SP)
7372
0x9D0021F4      0x03E00008  JR  RA
7373
0x9D0021F8      0x27BD000C  ADDIU       SP, SP, 12
7374
; end of _nand_write
7375
_cmd_chip_read_status_enhanced:
7376
;CMD_Status.c, 15 ::            unsigned char cmd_chip_read_status_enhanced(unsigned char* inBuffer, int addressCycles)
7377
0x9D003C48      0x27BDFFE8  ADDIU       SP, SP, -24
7378
0x9D003C4C      0xAFBF0000  SW  RA, 0(SP)
7379
;CMD_Status.c, 18 ::            nand_send_command(NC_READ_STATUS_ENHANCED);
7380
0x9D003C50      0xAFB90004  SW  R25, 4(SP)
7381
0x9D003C54      0xAFBA0008  SW  R26, 8(SP)
7382
0x9D003C58      0xA7BA000C  SH  R26, 12(SP)
7383
0x9D003C5C      0xAFB90010  SW  R25, 16(SP)
7384
0x9D003C60      0x0F40087F  JAL _nand_send_command+0
7385
0x9D003C64      0x34190078  ORI R25, R0, 120
7386
0x9D003C68      0x8FB90010  LW  R25, 16(SP)
7387
0x9D003C6C      0x87BA000C  LH  R26, 12(SP)
7388
;CMD_Status.c, 19 ::            nand_send_address(inBuffer + 1, addressCycles - 2);
7389
0x9D003C70      0x2743FFFE  ADDIU       R3, R26, -2
7390
0x9D003C74      0x27220001  ADDIU       R2, R25, 1
7391
0x9D003C78      0x7C03D620  SEH R26, R3
7392
0x9D003C7C      0x0F400A65  JAL _nand_send_address+0
7393
0x9D003C80      0x0040C80A  MOVZ        R25, R2, R0
7394
;CMD_Status.c, 20 ::            do_delay(5);
7395
0x9D003C84      0x0F40084C  JAL _do_delay+0
7396
0x9D003C88      0x34190005  ORI R25, R0, 5
7397
;CMD_Status.c, 21 ::            nand_read(&r, 1);
7398
0x9D003C8C      0x27A20014  ADDIU       R2, SP, 20
7399
0x9D003C90      0x341A0001  ORI R26, R0, 1
7400
0x9D003C94      0x0F4008B7  JAL _nand_read+0
7401
0x9D003C98      0x0040C80A  MOVZ        R25, R2, R0
7402
;CMD_Status.c, 22 ::            return r;
7403
0x9D003C9C      0x93A20014  LBU R2, 20(SP)
7404
;CMD_Status.c, 23 ::            }
7405
;CMD_Status.c, 22 ::            return r;
7406
;CMD_Status.c, 23 ::            }
7407
L_end_cmd_chip_read_status_enhanced:
7408
0x9D003CA0      0x8FBA0008  LW  R26, 8(SP)
7409
0x9D003CA4      0x8FB90004  LW  R25, 4(SP)
7410
0x9D003CA8      0x8FBF0000  LW  RA, 0(SP)
7411
0x9D003CAC      0x03E00008  JR  RA
7412
0x9D003CB0      0x27BD0018  ADDIU       SP, SP, 24
7413
; end of _cmd_chip_read_status_enhanced
7414
___BootStartUp:
7415
;__Lib_System.c, 68 ::
7416
0xBFC00000      0x27BDFFFC  ADDIU       SP, SP, -4
7417
;__Lib_System.c, 72 ::
7418
0xBFC00004      0x70000000  NOP
7419
;__Lib_System.c, 73 ::
7420
0xBFC00008      0x70000000  NOP
7421
;__Lib_System.c, 74 ::
7422
0xBFC0000C      0x70000000  NOP
7423
;__Lib_System.c, 75 ::
7424
0xBFC00010      0x70000000  NOP
7425
;__Lib_System.c, 76 ::
7426
0xBFC00014      0x70000000  NOP
7427
;__Lib_System.c, 77 ::
7428
0xBFC00018      0x70000000  NOP
7429
;__Lib_System.c, 78 ::
7430
0xBFC0001C      0x70000000  NOP
7431
;__Lib_System.c, 79 ::
7432
0xBFC00020      0x70000000  NOP
7433
;__Lib_System.c, 80 ::
7434
0xBFC00024      0x70000000  NOP
7435
;__Lib_System.c, 81 ::
7436
0xBFC00028      0x70000000  NOP
7437
;__Lib_System.c, 82 ::
7438
0xBFC0002C      0x70000000  NOP
7439
;__Lib_System.c, 83 ::
7440
0xBFC00030      0x70000000  NOP
7441
;__Lib_System.c, 84 ::
7442
0xBFC00034      0x70000000  NOP
7443
;__Lib_System.c, 85 ::
7444
0xBFC00038      0x70000000  NOP
7445
;__Lib_System.c, 86 ::
7446
0xBFC0003C      0x70000000  NOP
7447
;__Lib_System.c, 87 ::
7448
0xBFC00040      0x70000000  NOP
7449
;__Lib_System.c, 88 ::
7450
0xBFC00044      0x70000000  NOP
7451
;__Lib_System.c, 89 ::
7452
0xBFC00048      0x70000000  NOP
7453
;__Lib_System.c, 90 ::
7454
0xBFC0004C      0x70000000  NOP
7455
;__Lib_System.c, 91 ::
7456
0xBFC00050      0x70000000  NOP
7457
;__Lib_System.c, 94 ::
7458
0xBFC00054      0x3C1DA000  LUI SP, 40960
7459
0xBFC00058      0x37BD3FFC  ORI SP, SP, 16380
7460
;__Lib_System.c, 95 ::
7461
0xBFC0005C      0x3C01A000  LUI GP, 40960
7462
0xBFC00060      0x34218000  ORI GP, GP, 32768
7463
;__Lib_System.c, 99 ::
7464
0xBFC00064      0x401E6002  MFC0        R30, 12, 2
7465
;__Lib_System.c, 100 ::
7466
0xBFC00068      0x03C0E00A  MOVZ        R28, R30, R0
7467
;__Lib_System.c, 101 ::
7468
0xBFC0006C      0x7FDB1E80  EXT R27, R30, 26, 4
7469
;__Lib_System.c, 102 ::
7470
0xBFC00070      0x7F7E4984  INS R30, R27, 6, 4
7471
;__Lib_System.c, 103 ::
7472
0xBFC00074      0x409E6002  MTC0        R30, 12, 2
7473
;__Lib_System.c, 104 ::
7474
0xBFC00078      0x41C10800  WRPGPR      GP, GP
7475
;__Lib_System.c, 105 ::
7476
0xBFC0007C      0x409C6002  MTC0        R28, 12, 2
7477
;__Lib_System.c, 111 ::
7478
0xBFC00080      0x3C02A421  LUI R2, 42017
7479
0xBFC00084      0x34420583  ORI R2, R2, 1411
7480
0xBFC00088      0x0040F00A  MOVZ        R30, R2, R0
7481
0xBFC0008C      0x409E8000  MTC0        R30, 16, 0
7482
;__Lib_System.c, 114 ::
7483
0xBFC00090      0x0000100A  MOVZ        R2, R0, R0
7484
0xBFC00094      0x0040F00A  MOVZ        R30, R2, R0
7485
0xBFC00098      0x409E4800  MTC0        R30, 9, 0
7486
;__Lib_System.c, 117 ::
7487
0xBFC0009C      0x3C02FFFF  LUI R2, 65535
7488
0xBFC000A0      0x3442FFFF  ORI R2, R2, 65535
7489
0xBFC000A4      0x0040F00A  MOVZ        R30, R2, R0
7490
0xBFC000A8      0x409E5800  MTC0        R30, 11, 0
7491
;__Lib_System.c, 119 ::
7492
0xBFC000AC      0x3C029FC0  LUI R2, 40896
7493
0xBFC000B0      0x34421000  ORI R2, R2, 4096
7494
0xBFC000B4      0x0040F00A  MOVZ        R30, R2, R0
7495
0xBFC000B8      0x409E7801  MTC0        R30, 15, 1
7496
;__Lib_System.c, 121 ::
7497
0xBFC000BC      0x34020020  ORI R2, R0, 32
7498
0xBFC000C0      0x0040F00A  MOVZ        R30, R2, R0
7499
0xBFC000C4      0x409E6001  MTC0        R30, 12, 1
7500
;__Lib_System.c, 123 ::
7501
0xBFC000C8      0x3C020400  LUI R2, 1024
7502
0xBFC000CC      0x0040F00A  MOVZ        R30, R2, R0
7503
0xBFC000D0      0x409E6002  MTC0        R30, 12, 2
7504
;__Lib_System.c, 124 ::
7505
0xBFC000D4      0x0000100A  MOVZ        R2, R0, R0
7506
0xBFC000D8      0x0040F00A  MOVZ        R30, R2, R0
7507
0xBFC000DC      0x409E6003  MTC0        R30, 12, 3
7508
;__Lib_System.c, 129 ::
7509
0xBFC000E0      0x3C020010  LUI R2, 16
7510
0xBFC000E4      0x0040F00A  MOVZ        R30, R2, R0
7511
0xBFC000E8      0x409E6000  MTC0        R30, 12, 0
7512
;__Lib_System.c, 132 ::
7513
0xBFC000EC      0x34020032  ORI R2, R0, 50
7514
0xBFC000F0      0x3C1EBF88  LUI R30, 49032
7515
0xBFC000F4      0xAFC24000  SW  R2, 16384(R30)
7516
;__Lib_System.c, 137 ::
7517
0xBFC000F8      0x34021000  ORI R2, R0, 4096
7518
0xBFC000FC      0x3C1EBF88  LUI R30, 49032
7519
0xBFC00100      0xAFC21000  SW  R2, 4096(R30)
7520
;__Lib_System.c, 143 ::
7521
0xBFC00104      0x3C020080  LUI R2, 128
7522
0xBFC00108      0x0040F00A  MOVZ        R30, R2, R0
7523
0xBFC0010C      0x409E6800  MTC0        R30, 13, 0
7524
;__Lib_System.c, 149 ::
7525
0xBFC00110      0x3C1E9D00  LUI R30, hi_addr(_main+0)
7526
;__Lib_System.c, 150 ::
7527
0xBFC00114      0x37DE4248  ORI R30, R30, lo_addr(_main+0)
7528
;__Lib_System.c, 152 ::
7529
0xBFC00118      0x03C00008  JR  R30
7530
;__Lib_System.c, 153 ::
7531
0xBFC0011C      0x70000000  NOP
7532
;__Lib_System.c, 155 ::
7533
L_end___BootStartUp:
7534
0xBFC00120      0x03E00008  JR  RA
7535
0xBFC00124      0x27BD0004  ADDIU       SP, SP, 4
7536
; end of ___BootStartUp
7537
___BootGenExcept:
7538
;__Lib_System.c, 56 ::
7539
0x9D004230      0x27BDFFFC  ADDIU       SP, SP, -4
7540
;__Lib_System.c, 57 ::
7541
L___BootGenExcept6:
7542
;__Lib_System.c, 58 ::
7543
0x9D004234      0x0B40108D  J   L___BootGenExcept6
7544
0x9D004238      0x70000000  NOP
7545
;__Lib_System.c, 59 ::
7546
L_end___BootGenExcept:
7547
0x9D00423C      0x27BD0004  ADDIU       SP, SP, 4
7548
0x9D004240      0x42000018  ERET
7549
0x9D004244      0x70000000  NOP
7550
; end of ___BootGenExcept
7551
___GenExcept:
7552
;__Lib_System.c, 61 ::
7553
0x9D004218      0x27BDFFFC  ADDIU       SP, SP, -4
7554
;__Lib_System.c, 62 ::
7555
L___GenExcept8:
7556
;__Lib_System.c, 63 ::
7557
0x9D00421C      0x0B401087  J   L___GenExcept8
7558
0x9D004220      0x70000000  NOP
7559
;__Lib_System.c, 64 ::
7560
L_end___GenExcept:
7561
0x9D004224      0x27BD0004  ADDIU       SP, SP, 4
7562
0x9D004228      0x42000018  ERET
7563
0x9D00422C      0x70000000  NOP
7564
; end of ___GenExcept
7565
0x9D004A3C      0x03E0C80A  MOVZ        R25, RA, R0
7566
0x9D004A40      0x3C17A000  LUI R23, 40960
7567
0x9D004A44      0x36F70040  ORI R23, R23, 64
7568
0x9D004A48      0x3C16A000  LUI R22, 40960
7569
0x9D004A4C      0x36D60046  ORI R22, R22, 70
7570
0x9D004A50      0x3C189D00  LUI R24, 40192
7571
0x9D004A54      0x37184A28  ORI R24, R24, 18984
7572
0x9D004A58      0x0F400FE0  JAL ___CC2DW
7573
0x9D004A5C      0x70000000  NOP
7574
0x9D004A60      0x3C17A000  LUI R23, 40960
7575
0x9D004A64      0x36F70048  ORI R23, R23, 72
7576
0x9D004A68      0x3C16A000  LUI R22, 40960
7577
0x9D004A6C      0x36D6004C  ORI R22, R22, 76
7578
0x9D004A70      0x3C189D00  LUI R24, 40192
7579
0x9D004A74      0x37184A30  ORI R24, R24, 18992
7580
0x9D004A78      0x0F400FE0  JAL ___CC2DW
7581
0x9D004A7C      0x70000000  NOP
7582
0x9D004A80      0x3C17A000  LUI R23, 40960
7583
0x9D004A84      0x36F70046  ORI R23, R23, 70
7584
0x9D004A88      0x3C16A000  LUI R22, 40960
7585
0x9D004A8C      0x36D60047  ORI R22, R22, 71
7586
0x9D004A90      0x3C189D00  LUI R24, 40192
7587
0x9D004A94      0x37184A3A  ORI R24, R24, 19002
7588
0x9D004A98      0x0F400FE0  JAL ___CC2DW
7589
0x9D004A9C      0x70000000  NOP
7590
0x9D004AA0      0x3C17A000  LUI R23, 40960
7591
0x9D004AA4      0x36F7004C  ORI R23, R23, 76
7592
0x9D004AA8      0x3C16A000  LUI R22, 40960
7593
0x9D004AAC      0x36D6004E  ORI R22, R22, 78
7594
0x9D004AB0      0x3C189D00  LUI R24, 40192
7595
0x9D004AB4      0x37184A38  ORI R24, R24, 19000
7596
0x9D004AB8      0x0F400FE0  JAL ___CC2DW
7597
0x9D004ABC      0x70000000  NOP
7598
0x9D004AC0      0x0320F80A  MOVZ        RA, R25, R0
7599
0x9D004AC4      0x03E00008  JR  RA
7600
0x9D004AC8      0x70000000  NOP
7601
;USBdsc.c,152 :: _strd3 [48]
7602
0x9D004978      0x00550320 ;_strd3+0
7603
0x9D00497C      0x00420053 ;_strd3+4
7604
0x9D004980      0x00480020 ;_strd3+8
7605
0x9D004984      0x00440049 ;_strd3+12
7606
0x9D004988      0x004C0020 ;_strd3+16
7607
0x9D00498C      0x00620069 ;_strd3+20
7608
0x9D004990      0x00610072 ;_strd3+24
7609
0x9D004994      0x00790072 ;_strd3+28
7610
0x9D004998      0x00000000 ;_strd3+32
7611
0x9D00499C      0x00000000 ;_strd3+36
7612
0x9D0049A0      0x00000000 ;_strd3+40
7613
0x9D0049A4      0x00000000 ;_strd3+44
7614
; end of _strd3
7615
;,0 :: _initBlock_1 [76]
7616
; Containing: configDescriptor1 [41]
7617
;             strd2 [34]
7618
0x9D0049A8      0x00290209 ;_initBlock_1+0 : configDescriptor1 at 0x9D0049A8
7619
0x9D0049AC      0x80000101 ;_initBlock_1+4
7620
0x9D0049B0      0x00040932 ;_initBlock_1+8
7621
0x9D0049B4      0x00030200 ;_initBlock_1+12
7622
0x9D0049B8      0x21090000 ;_initBlock_1+16
7623
0x9D0049BC      0x01000101 ;_initBlock_1+20
7624
0x9D0049C0      0x07002122 ;_initBlock_1+24
7625
0x9D0049C4      0x40038105 ;_initBlock_1+28
7626
0x9D0049C8      0x05070100 ;_initBlock_1+32
7627
0x9D0049CC      0x00400301 ;_initBlock_1+36
7628
0x9D0049D0      0x03220001 ;_initBlock_1+40 : strd2 at 0x9D0049D2
7629
0x9D0049D4      0x0069004D ;_initBlock_1+44
7630
0x9D0049D8      0x0072006B ;_initBlock_1+48
7631
0x9D0049DC      0x0065006F ;_initBlock_1+52
7632
0x9D0049E0      0x0065006C ;_initBlock_1+56
7633
0x9D0049E4      0x0074006B ;_initBlock_1+60
7634
0x9D0049E8      0x006F0072 ;_initBlock_1+64
7635
0x9D0049EC      0x0069006E ;_initBlock_1+68
7636
0x9D0049F0      0x0061006B ;_initBlock_1+72
7637
; end of _initBlock_1
7638
;,0 :: _initBlock_2 [52]
7639
; Containing: hid_rpt_desc [33]
7640
;             device_dsc [18]
7641
0x9D0049F4      0x09FF0006 ;_initBlock_2+0 : hid_rpt_desc at 0x9D0049F4
7642
0x9D0049F8      0x1901A101 ;_initBlock_2+4
7643
0x9D0049FC      0x15402901 ;_initBlock_2+8
7644
0x9D004A00      0x00FF2600 ;_initBlock_2+12
7645
0x9D004A04      0x40950875 ;_initBlock_2+16
7646
0x9D004A08      0x01190281 ;_initBlock_2+20
7647
0x9D004A0C      0x08754029 ;_initBlock_2+24
7648
0x9D004A10      0x02914095 ;_initBlock_2+28
7649
0x9D004A14      0x011200C0 ;_initBlock_2+32 : device_dsc at 0x9D004A16
7650
0x9D004A18      0x00000200 ;_initBlock_2+36
7651
0x9D004A1C      0x12340800 ;_initBlock_2+40
7652
0x9D004A20      0x00010001 ;_initBlock_2+44
7653
0x9D004A24      0x01000201 ;_initBlock_2+48
7654
; end of _initBlock_2
7655
;,0 :: _initBlock_3 [4]
7656
; Containing: ?ICS_addressCycles [2]
7657
;             ?ICS_pageSize [2]
7658
0x9D004A28      0x00000000 ;_initBlock_3+0 : ?ICS_addressCycles at 0x9D004A28 : ?ICS_pageSize at 0x9D004A2A
7659
; end of _initBlock_3
7660
;main.c,0 :: ?ICS_busWidth [2]
7661
0x9D004A2C      0x0008 ;?ICS_busWidth+0
7662
; end of ?ICS_busWidth
7663
;main.c,0 :: ?ICS_onfiParamPage [4]
7664
0x9D004A30      0x00000000 ;?ICS_onfiParamPage+0
7665
; end of ?ICS_onfiParamPage
7666
;USBdsc.c,129 :: _strd1 [4]
7667
0x9D004A34      0x04090304 ;_strd1+0
7668
; end of _strd1
7669
;,0 :: _initBlock_7 [3]
7670
; Containing: ?ICS_data_line_last_op [2]
7671
;             ?ICS_isOnfi [1]
7672
0x9D004A38      0x000002 ;_initBlock_7+0 : ?ICS_data_line_last_op at 0x9D004A38 : ?ICS_isOnfi at 0x9D004A3A
7673
; end of _initBlock_7
7674
Symbol List:
7675
//** Routines locations **
7676
//ADDRESS    SIZE    PROCEDURE
7677
//----------------------------------------------
7678
0x9D000000      [20]    __Lib_USB_USB_EP0_Transmit_Options
7679
0x9D000014      [28]    __Lib_USB_USB_EP0_Send_ROM
7680
0x9D000030     [160]    __Lib_USB_USB_Configure_Endpoint
7681
0x9D0000D0     [296]    __Lib_USB_USB_CtrlTrf_Tx_Service
7682
0x9D0001F8      [48]    __Lib_USB_USB_memset
7683
0x9D000228      [32]    __Lib_USB_USB_EP0_Send_RAM
7684
0x9D000248     [272]    __Lib_USB_USB_Get_Dsc_Handler
7685
0x9D000358     [276]    __Lib_USB_USB_Set_Cfg_Handler
7686
0x9D00046C     [532]    __Lib_USB_USB_Check_HID_Request
7687
0x9D000680     [108]    __Lib_USB_USB_Enable_Endpoint
7688
0x9D0006EC     [248]    __Lib_USB_USB_Transfer_Packet
7689
0x9D0007E4     [344]    __Lib_USB_USB_Get_Status_Handler
7690
0x9D00093C     [196]    __Lib_USB_USBCtrlEPAllowDataStage
7691
0x9D000A00     [268]    __Lib_USB_USBCtrlEPAllowStatusStage
7692
0x9D000B0C    [1028]    __Lib_USB_USB_Std_Feature_Req_Handler
7693
0x9D000F10     [416]    __Lib_USB_USB_CtrlTrf_Rx_Service
7694
0x9D0010B0      [40]    __Lib_USB_USB_CB_Check_Other_Req
7695
0x9D0010D8     [524]    __Lib_USB_USB_Check_Std_Request
7696
0x9D0012E4     [384]    __Lib_USB_USB_CtrlEP_Service_Complete
7697
0x9D001464     [140]    __Lib_USB_USB_CB_Init_EP
7698
0x9D0014F0     [296]    __Lib_USB_USB_CtrlTrf_In_Handler
7699
0x9D001618     [144]    __Lib_USB_USB_CtrlTrf_Out_Handler
7700
0x9D0016A8     [196]    __Lib_USB_USB_CtrlTrf_Setup_Handler
7701
0x9D00176C     [252]    __Lib_USB_USB_CB_Handler
7702
0x9D001868      [72]    __Lib_USB_USB_Disable_Non_Zero_Endpoints
7703
0x9D0018B0     [308]    _data_line_read_byte
7704
0x9D0019E4      [80]    __Lib_USB_USB_Configure
7705
0x9D001A34      [56]    _USB_Init_Desc
7706
0x9D001A6C     [388]    _data_line_write_byte
7707
0x9D001BF0      [36]    __Lib_USB_USB_Handle_Busy
7708
0x9D001C14     [292]    __Lib_USB_GetMaxIndexInConfigDsc
7709
0x9D001D38     [156]    __Lib_USB_GetMaxIndexInDevDsc
7710
0x9D001DD4      [24]    __Lib_USB_USB_Clear_Interrupt
7711
0x9D001DEC     [100]    __Lib_USB_USB_Suspend
7712
0x9D001E50      [96]    __Lib_MemManager_MM_CheckBlocks
7713
0x9D001EB0      [96]    __Lib_USB_USB_Wake_From_Suspend
7714
0x9D001F10     [316]    __Lib_USB_USB_Ctrl_EPService
7715
0x9D00204C     [124]    __Lib_USB_USB_Stall_Handler
7716
0x9D0020C8      [56]    _nand_chip_unselect
7717
0x9D002100      [48]    _nand_wait_ready
7718
0x9D002130      [48]    _do_delay
7719
0x9D002160     [156]    _nand_write
7720
0x9D0021FC     [100]    _nand_send_command
7721
0x9D002260     [124]    _nand_is_ready
7722
0x9D0022DC     [224]    _nand_read
7723
0x9D0023BC     [292]    _Gen_Write
7724
0x9D0024E0    [1184]    __Lib_MemManager_MM_GetMemAlign
7725
0x9D002980      [20]    _USB_Break
7726
0x9D002994     [216]    _nand_send_address
7727
0x9D002A6C     [636]    __Lib_MemManager_MM_Defragment
7728
0x9D002CE8     [116]    __Lib_USB_USB_Attach_Device
7729
0x9D002D5C      [88]    __Lib_USB_GetMaxStrignDscIndex
7730
0x9D002DB4     [636]    __Lib_USB_USB_Device_Init
7731
0x9D003030    [1024]    __Lib_USB_USB_Device_Service
7732
0x9D003430     [208]    _Gen_Read
7733
0x9D003500     [460]    _nand_chip_select
7734
0x9D0036CC     [120]    _cmd_chip_read_param_page
7735
0x9D003744     [320]    _cmd_chip_read_page
7736
0x9D003884     [392]    _cmd_chip_read_page_cache_sequential
7737
0x9D003A0C     [128]    _MM_Init
7738
0x9D003A8C      [72]    _cmd_chip_read_status
7739
0x9D003AD4     [296]    _cmd_chip_page_program
7740
0x9D003BFC      [76]    _HID_Enable
7741
0x9D003C48     [108]    _cmd_chip_read_status_enhanced
7742
0x9D003CB4     [148]    _cmd_chip_read_unique_id
7743
0x9D003D48     [100]    _cmd_chip_block_erase
7744
0x9D003DAC      [72]    _nand_toggle_wp
7745
0x9D003DF4      [60]    _HID_Read
7746
0x9D003E30     [192]    _cmd_chip_read_id
7747
0x9D003EF0      [48]    _cmd_chip_enable
7748
0x9D003F20      [28]    _cmd_chip_disable
7749
0x9D003F3C      [68]    _cmd_chip_reset
7750
0x9D003F80      [32]    ___CC2DW
7751
0x9D003FA0      [28]    _USB_Polling_Proc
7752
0x9D003FBC     [152]    _init_nand_data_line
7753
0x9D004054     [272]    _init_nand_control_line
7754
0x9D004164      [36]    _HID_Write
7755
0x9D004188     [144]    _Malloc
7756
0x9D004218      [24]    ___GenExcept
7757
0x9D004230      [24]    ___BootGenExcept
7758
0x9D004248    [1840]    _main
7759
0xBFC00000     [296]    ___BootStartUp
7760
//** Variables locations **
7761
//ADDRESS    SIZE    VARIABLE
7762
//----------------------------------------------
7763
0xA0000000      [64]    __Lib_USB_BDT
7764
0xA0000040       [2]    _addressCycles
7765
0xA0000042       [2]    _pageSize
7766
0xA0000044       [2]    _busWidth
7767
0xA0000046       [1]    _isOnfi
7768
0xA0000047       [1]    _endpoint_number
7769
0xA0000048       [4]    _onfiParamPage
7770
0xA000004C       [2]    _data_line_last_op
7771
0xA000004E       [2]    _ep_data_out
7772
0xA0000050       [4]    __Lib_USB_pDst
7773
0xA0000054       [1]    _USTATcopy
7774
0xA0000055       [1]    __Lib_USB_USBAlternateInterface
7775
0xA0000056       [1]    _USBDeferStatusStagePacket
7776
0xA0000057       [1]    _USBDeferOUTDataStagePackets
7777
0xA0001F98       [1]    __Lib_USB_BothEP0OutUOWNsSet
7778
0xA0001F99       [1]    _USBStatusStageEnabledFlag2
7779
0xA0001F9A       [1]    _USBDeferINDataStagePackets
7780
0xA0001F9B       [1]    __Lib_USB_RemoteWakeup
7781
0xA0001F9C       [4]    __Lib_USB_BDTEntry_EP0Out_NextPtr
7782
0xA0001FA0      [64]    _readbuff
7783
0xA0001FE0       [1]    _kk
7784
0xA0001FE1    [3072]    _writebuff
7785
0xA0002BE1       [2]    _ep_data_in
7786
0xA0002BE3       [1]    __Lib_USB_maxDescriptorIndex
7787
0xA0002BE4       [4]    __Lib_USB_USB_Write_Buffer
7788
0xA0002BE8       [1]    _USBStatusStageEnabledFlag1
7789
0xA0002BE9       [5]    _nandId
7790
0xA0002BEE       [1]    _MM_NrFreeBlocksUsed
7791
0xA0002BEF       [1]    _MM_PossiblyFragmented
7792
0xA0002BF0       [4]    __Lib_USB_BDTEntry_EP0Out_CurrentPtr
7793
0xA0002BF4       [1]    _MM_Error_
7794
0xA0002BF5       [1]    __Lib_USB_USBDeviceState
7795
0xA0002BF6       [1]    __Lib_USB_active_protocol
7796
0xA0002BF7       [1]    __Lib_USB_USBActiveConfiguration
7797
0xA0002BF8     [160]    _MM_FreeMemTable
7798
0xA0002C98       [4]    __Lib_USB_USB_Read_Buffer
7799
0xA0002C9C       [8]    __Lib_USB_BDTEntry_InPtr
7800
0xA0002CA4       [4]    __Lib_USB_USB_Out_Handle
7801
0xA0002CA8      [12]    _USB_string_dsc_ptr
7802
0xA0002CB4       [4]    _USB_config_dsc_ptr
7803
0xA0002CB8       [8]    __Lib_USB_SetupPkt
7804
0xA0002CC0       [8]    __Lib_USB_inPipes
7805
0xA0002CC8       [1]    __Lib_USB_idle_rate
7806
0xA0002CC9       [1]    __Lib_USB_shortPacketStatus
7807
0xA0002CCA       [1]    __Lib_USB_controlTransferState
7808
0xA0002CCB       [1]    _USBBusIsSuspended
7809
0xA0002CCC       [8]    __Lib_USB_BDTEntry_OutPtr
7810
0xA0002CD4      [12]    __Lib_USB_outPipes
7811
0xA0002CE0       [8]    __Lib_USB_CtrlTrfData
7812
0xA0002CE8       [4]    __Lib_USB__USB_Stop_Waiting
7813
0xA0002CEC       [4]    __Lib_USB_USB_In_Handle
7814
0xA0002CF0       [1]    __Lib_USB__Is_HID
7815
//** Constants locations **
7816
//ADDRESS    SIZE    CONSTANT
7817
//----------------------------------------------
7818
0x9D004978      [48]    _strd3
7819
0x9D0049A8      [41]    _configDescriptor1
7820
0x9D0049D2      [34]    _strd2
7821
0x9D0049F4      [33]    _hid_rpt_desc
7822
0x9D004A16      [18]    _device_dsc
7823
0x9D004A28       [2]    ?ICS_addressCycles
7824
0x9D004A2A       [2]    ?ICS_pageSize
7825
0x9D004A2C       [2]    ?ICS_busWidth
7826
0x9D004A30       [4]    ?ICS_onfiParamPage
7827
0x9D004A34       [4]    _strd1
7828
0x9D004A38       [2]    ?ICS_data_line_last_op
7829
0x9D004A3A       [1]    ?ICS_isOnfi

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.