Subversion Repositories Projects

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
911 - 1
   1               		.file	"eeprom.c"
2
   2               	__SREG__ = 0x3f
3
   3               	__SP_H__ = 0x3e
4
   4               	__SP_L__ = 0x3d
5
   5               	__tmp_reg__ = 0
6
   6               	__zero_reg__ = 1
7
   7               		.global __do_copy_data
8
   8               		.global __do_clear_bss
9
   9               		.text
10
  10               	.global	RAM_Checksum
11
  12               	RAM_Checksum:
12
  13               	/* prologue: frame size=0 */
13
  14               	/* prologue end (size=0) */
14
  15 0000 DC01      		movw r26,r24
15
  16 0002 4AEA      		ldi r20,lo8(-86)
16
  17 0004 20E0      		ldi r18,lo8(0)
17
  18 0006 30E0      		ldi r19,hi8(0)
18
  19 0008 00C0      		rjmp .L2
19
  20               	.L3:
20
  21 000a FD01      		movw r30,r26
21
  22 000c E20F      		add r30,r18
22
  23 000e F31F      		adc r31,r19
23
  24 0010 8081      		ld r24,Z
24
  25 0012 480F      		add r20,r24
25
  26 0014 2F5F      		subi r18,lo8(-(1))
26
  27 0016 3F4F      		sbci r19,hi8(-(1))
27
  28               	.L2:
28
  29 0018 2617      		cp r18,r22
29
  30 001a 3707      		cpc r19,r23
30
  31 001c 01F4      		brne .L3
31
  32 001e 842F      		mov r24,r20
32
  33 0020 90E0      		ldi r25,lo8(0)
33
  34               	/* epilogue: frame size=0 */
34
  35 0022 0895      		ret
35
  36               	/* epilogue end (size=1) */
36
  37               	/* function RAM_Checksum size 18 (17) */
37
  39               	.global	EEProm_Checksum
38
  41               	EEProm_Checksum:
39
  42               	/* prologue: frame size=0 */
40
  43               	/* prologue end (size=0) */
41
  44 0024 FC01      		movw r30,r24
42
  45 0026 4AEA      		ldi r20,lo8(-86)
43
  46 0028 20E0      		ldi r18,lo8(0)
44
  47 002a 30E0      		ldi r19,hi8(0)
45
  48 002c 00C0      		rjmp .L7
46
  49               	.L8:
47
  50 002e DF01      		movw r26,r30
48
  51 0030 A20F      		add r26,r18
49
  52 0032 B31F      		adc r27,r19
50
  53               	/* #APP */
51
  54 0034 0E94 0000 		call __eeprom_read_byte_1F2021
52
  55 0038 802D      		mov r24,__tmp_reg__
53
  56               	/* #NOAPP */
54
  57 003a 480F      		add r20,r24
55
  58 003c 2F5F      		subi r18,lo8(-(1))
56
  59 003e 3F4F      		sbci r19,hi8(-(1))
57
  60               	.L7:
58
  61 0040 2617      		cp r18,r22
59
  62 0042 3707      		cpc r19,r23
60
  63 0044 01F4      		brne .L8
61
  64 0046 842F      		mov r24,r20
62
  65 0048 90E0      		ldi r25,lo8(0)
63
  66               	/* epilogue: frame size=0 */
64
  67 004a 0895      		ret
65
  68               	/* epilogue end (size=1) */
66
  69               	/* function EEProm_Checksum size 21 (20) */
67
  71               	.global	ParamSet_DefaultStickMapping
68
  73               	ParamSet_DefaultStickMapping:
69
  74               	/* prologue: frame size=0 */
70
  75               	/* prologue end (size=0) */
71
  76 004c 81E0      		ldi r24,lo8(1)
72
  77 004e 8093 0000 		sts EE_Parameter+3,r24
73
  78 0052 82E0      		ldi r24,lo8(2)
74
  79 0054 8093 0000 		sts EE_Parameter+2,r24
75
  80 0058 83E0      		ldi r24,lo8(3)
76
  81 005a 8093 0000 		sts EE_Parameter+1,r24
77
  82 005e 84E0      		ldi r24,lo8(4)
78
  83 0060 8093 0000 		sts EE_Parameter+4,r24
79
  84 0064 85E0      		ldi r24,lo8(5)
80
  85 0066 8093 0000 		sts EE_Parameter+5,r24
81
  86 006a 86E0      		ldi r24,lo8(6)
82
  87 006c 8093 0000 		sts EE_Parameter+6,r24
83
  88 0070 87E0      		ldi r24,lo8(7)
84
  89 0072 8093 0000 		sts EE_Parameter+7,r24
85
  90 0076 88E0      		ldi r24,lo8(8)
86
  91 0078 8093 0000 		sts EE_Parameter+8,r24
87
  92 007c 89E0      		ldi r24,lo8(9)
88
  93 007e 8093 0000 		sts EE_Parameter+9,r24
89
  94 0082 8AE0      		ldi r24,lo8(10)
90
  95 0084 8093 0000 		sts EE_Parameter+10,r24
91
  96 0088 8BE0      		ldi r24,lo8(11)
92
  97 008a 8093 0000 		sts EE_Parameter+11,r24
93
  98 008e 8CE0      		ldi r24,lo8(12)
94
  99 0090 8093 0000 		sts EE_Parameter+12,r24
95
 100               	/* epilogue: frame size=0 */
96
 101 0094 0895      		ret
97
 102               	/* epilogue end (size=1) */
98
 103               	/* function ParamSet_DefaultStickMapping size 37 (36) */
99
 105               	.global	CommonDefaults
100
 107               	CommonDefaults:
101
 108               	/* prologue: frame size=0 */
102
 109               	/* prologue end (size=0) */
103
 110 0096 95E5      		ldi r25,lo8(85)
104
 111 0098 9093 0000 		sts EE_Parameter,r25
105
 112 009c 8091 0000 		lds r24,PlatinenVersion
106
 113 00a0 8431      		cpi r24,lo8(20)
107
 114 00a2 00F0      		brlo .L14
108
 115 00a4 8AE0      		ldi r24,lo8(10)
109
 116 00a6 8093 0000 		sts EE_Parameter+32,r24
110
 117 00aa 1092 0000 		sts EE_Parameter+68,__zero_reg__
111
 118 00ae 8BE1      		ldi r24,lo8(27)
112
 119 00b0 8093 0000 		sts EE_Parameter+28,r24
113
 120 00b4 8EE4      		ldi r24,lo8(78)
114
 121 00b6 8093 0000 		sts EE_Parameter+65,r24
115
 122 00ba 8093 0000 		sts EE_Parameter+66,r24
116
 123 00be 00C0      		rjmp .L16
117
 124               	.L14:
118
 125 00c0 83E0      		ldi r24,lo8(3)
119
 126 00c2 8093 0000 		sts EE_Parameter+32,r24
120
 127 00c6 80E2      		ldi r24,lo8(32)
121
 128 00c8 8093 0000 		sts EE_Parameter+68,r24
122
 129 00cc 8EE1      		ldi r24,lo8(30)
123
 130 00ce 8093 0000 		sts EE_Parameter+28,r24
124
 131 00d2 9093 0000 		sts EE_Parameter+65,r25
125
 132 00d6 9093 0000 		sts EE_Parameter+66,r25
126
 133               	.L16:
127
 134 00da 8AE6      		ldi r24,lo8(106)
128
 135 00dc 8093 0000 		sts EE_Parameter+13,r24
129
 136 00e0 83E0      		ldi r24,lo8(3)
130
 137 00e2 8093 0000 		sts EE_Parameter+102,r24
131
 138 00e6 81E0      		ldi r24,lo8(1)
132
 139 00e8 8093 0000 		sts EE_Parameter+39,r24
133
 140 00ec 1092 0000 		sts EE_Parameter+99,__zero_reg__
134
 141 00f0 1092 0000 		sts EE_Parameter+96,__zero_reg__
135
 142 00f4 68E0      		ldi r22,lo8(8)
136
 143 00f6 6093 0000 		sts EE_Parameter+26,r22
137
 144 00fa 86EE      		ldi r24,lo8(-26)
138
 145 00fc 8093 0000 		sts EE_Parameter+27,r24
139
 146 0100 80E8      		ldi r24,lo8(-128)
140
 147 0102 8093 0000 		sts EE_Parameter+29,r24
141
 148 0106 5EE1      		ldi r21,lo8(30)
142
 149 0108 5093 0000 		sts EE_Parameter+14,r21
143
 150 010c 8FEF      		ldi r24,lo8(-1)
144
 151 010e 8093 0000 		sts EE_Parameter+16,r24
145
 152 0112 9FE0      		ldi r25,lo8(15)
146
 153 0114 9093 0000 		sts EE_Parameter+17,r25
147
 154 0118 5093 0000 		sts EE_Parameter+15,r21
148
 155 011c 1092 0000 		sts EE_Parameter+19,__zero_reg__
149
 156 0120 6093 0000 		sts EE_Parameter+20,r22
150
 157 0124 80E4      		ldi r24,lo8(64)
151
 158 0126 8093 0000 		sts EE_Parameter+21,r24
152
 159 012a 1092 0000 		sts EE_Parameter+22,__zero_reg__
153
 160 012e 9093 0000 		sts EE_Parameter+18,r25
154
 161 0132 1092 0000 		sts EE_Parameter+41,__zero_reg__
155
 162 0136 1092 0000 		sts EE_Parameter+42,__zero_reg__
156
 163 013a 1092 0000 		sts EE_Parameter+43,__zero_reg__
157
 164 013e 1092 0000 		sts EE_Parameter+44,__zero_reg__
158
 165 0142 1092 0000 		sts EE_Parameter+70,__zero_reg__
159
 166 0146 1092 0000 		sts EE_Parameter+71,__zero_reg__
160
 167 014a 1092 0000 		sts EE_Parameter+72,__zero_reg__
161
 168 014e 1092 0000 		sts EE_Parameter+73,__zero_reg__
162
 169 0152 38E7      		ldi r19,lo8(120)
163
 170 0154 3093 0000 		sts EE_Parameter+45,r19
164
 171 0158 48E2      		ldi r20,lo8(40)
165
 172 015a 4093 0000 		sts EE_Parameter+46,r20
166
 173 015e 72E0      		ldi r23,lo8(2)
167
 174 0160 7093 0000 		sts EE_Parameter+101,r23
168
 175 0164 9093 0000 		sts EE_Parameter+47,r25
169
 176 0168 27EF      		ldi r18,lo8(-9)
170
 177 016a 2093 0000 		sts EE_Parameter+48,r18
171
 178 016e 85E0      		ldi r24,lo8(5)
172
 179 0170 8093 0000 		sts EE_Parameter+53,r24
173
 180 0174 8DE7      		ldi r24,lo8(125)
174
 181 0176 8093 0000 		sts EE_Parameter+56,r24
175
 182 017a 8093 0000 		sts EE_Parameter+57,r24
176
 183 017e 8093 0000 		sts EE_Parameter+58,r24
177
 184 0182 3093 0000 		sts EE_Parameter+49,r19
178
 185 0186 9AE5      		ldi r25,lo8(90)
179
 186 0188 9093 0000 		sts EE_Parameter+50,r25
180
 187 018c 1092 0000 		sts EE_Parameter+51,__zero_reg__
181
 188 0190 2093 0000 		sts EE_Parameter+52,r18
182
 189 0194 4093 0000 		sts EE_Parameter+54,r20
183
 190 0198 1092 0000 		sts EE_Parameter+55,__zero_reg__
184
 191 019c 8FE5      		ldi r24,lo8(95)
185
 192 019e 8093 0000 		sts EE_Parameter+74,r24
186
 193 01a2 83EF      		ldi r24,lo8(-13)
187
 194 01a4 8093 0000 		sts EE_Parameter+76,r24
188
 195 01a8 8AEA      		ldi r24,lo8(-86)
189
 196 01aa 8093 0000 		sts EE_Parameter+78,r24
190
 197 01ae 8093 0000 		sts EE_Parameter+79,r24
191
 198 01b2 84E1      		ldi r24,lo8(20)
192
 199 01b4 8093 0000 		sts EE_Parameter+75,r24
193
 200 01b8 8093 0000 		sts EE_Parameter+77,r24
194
 201 01bc 82E3      		ldi r24,lo8(50)
195
 202 01be 8093 0000 		sts EE_Parameter+59,r24
196
 203 01c2 9093 0000 		sts EE_Parameter+60,r25
197
 204 01c6 8093 0000 		sts EE_Parameter+61,r24
198
 205 01ca 1092 0000 		sts EE_Parameter+100,__zero_reg__
199
 206 01ce 8EEF      		ldi r24,lo8(-2)
200
 207 01d0 8093 0000 		sts EE_Parameter+80,r24
201
 208 01d4 24E6      		ldi r18,lo8(100)
202
 209 01d6 2093 0000 		sts EE_Parameter+81,r18
203
 210 01da 9093 0000 		sts EE_Parameter+82,r25
204
 211 01de 9093 0000 		sts EE_Parameter+83,r25
205
 212 01e2 9093 0000 		sts EE_Parameter+84,r25
206
 213 01e6 8BE4      		ldi r24,lo8(75)
207
 214 01e8 8093 0000 		sts EE_Parameter+85,r24
208
 215 01ec 8093 0000 		sts EE_Parameter+86,r24
209
 216 01f0 8093 0000 		sts EE_Parameter+87,r24
210
 217 01f4 1092 0000 		sts EE_Parameter+88,__zero_reg__
211
 218 01f8 86E0      		ldi r24,lo8(6)
212
 219 01fa 8093 0000 		sts EE_Parameter+89,r24
213
 220 01fe 6093 0000 		sts EE_Parameter+90,r22
214
 221 0202 9093 0000 		sts EE_Parameter+91,r25
215
 222 0206 5093 0000 		sts EE_Parameter+92,r21
216
 223 020a 2093 0000 		sts EE_Parameter+93,r18
217
 224 020e 2093 0000 		sts EE_Parameter+94,r18
218
 225 0212 7093 0000 		sts EE_Parameter+95,r23
219
 226 0216 1092 0000 		sts EE_Parameter+97,__zero_reg__
220
 227 021a 1092 0000 		sts EE_Parameter+98,__zero_reg__
221
 228 021e 81E2      		ldi r24,lo8(33)
222
 229 0220 8093 0000 		sts EE_Parameter+36,r24
223
 230 0224 8DE2      		ldi r24,lo8(45)
224
 231 0226 8093 0000 		sts EE_Parameter+37,r24
225
 232 022a 9093 0000 		sts EE_Parameter+38,r25
226
 233               	/* epilogue: frame size=0 */
227
 234 022e 0895      		ret
228
 235               	/* epilogue end (size=1) */
229
 236               	/* function CommonDefaults size 205 (204) */
230
 238               	.global	GetParamByte
231
 240               	GetParamByte:
232
 241               	/* prologue: frame size=0 */
233
 242               	/* prologue end (size=0) */
234
 243 0230 DC01      		movw r26,r24
235
 244               	/* #APP */
236
 245 0232 0E94 0000 		call __eeprom_read_byte_1F2021
237
 246 0236 802D      		mov r24,__tmp_reg__
238
 247               	/* #NOAPP */
239
 248 0238 90E0      		ldi r25,lo8(0)
240
 249               	/* epilogue: frame size=0 */
241
 250 023a 0895      		ret
242
 251               	/* epilogue end (size=1) */
243
 252               	/* function GetParamByte size 7 (6) */
244
 254               	.global	SetParamByte
245
 256               	SetParamByte:
246
 257               	/* prologue: frame size=0 */
247
 258               	/* prologue end (size=0) */
248
 259 023c DC01      		movw r26,r24
249
 260               	/* #APP */
250
 261 023e 062E      		mov __tmp_reg__,r22
251
 262 0240 0E94 0000 		call __eeprom_write_byte_1F2021
252
 263               	/* #NOAPP */
253
 264               	/* epilogue: frame size=0 */
254
 265 0244 0895      		ret
255
 266               	/* epilogue end (size=1) */
256
 267               	/* function SetParamByte size 6 (5) */
257
 269               	.global	GetParamWord
258
 271               	GetParamWord:
259
 272               	/* prologue: frame size=0 */
260
 273               	/* prologue end (size=0) */
261
 274 0246 DC01      		movw r26,r24
262
 275               	/* #APP */
263
 276 0248 0E94 0000 		call __eeprom_read_word_1F2021
264
 277
265
 278               	/* #NOAPP */
266
 279 024c CF01      		movw r24,r30
267
 280               	/* epilogue: frame size=0 */
268
 281 024e 0895      		ret
269
 282               	/* epilogue end (size=1) */
270
 283               	/* function GetParamWord size 7 (6) */
271
 285               	.global	SetParamWord
272
 287               	SetParamWord:
273
 288               	/* prologue: frame size=0 */
274
 289               	/* prologue end (size=0) */
275
 290 0250 DC01      		movw r26,r24
276
 291               	/* #APP */
277
 292 0252 0B01      		movw __tmp_reg__,r22
278
 293 0254 0E94 0000 		call __eeprom_write_word_1F2021
279
 294
280
 295               	/* #NOAPP */
281
 296               	/* epilogue: frame size=0 */
282
 297 0258 0895      		ret
283
 298               	/* epilogue end (size=1) */
284
 299               	/* function SetParamWord size 8 (7) */
285
 301               	.global	GetActiveParamSet
286
 303               	GetActiveParamSet:
287
 304               	/* prologue: frame size=0 */
288
 305               	/* prologue end (size=0) */
289
 306 025a 22E0      		ldi r18,lo8(2)
290
 307 025c 30E0      		ldi r19,hi8(2)
291
 308 025e D901      		movw r26,r18
292
 309               	/* #APP */
293
 310 0260 0E94 0000 		call __eeprom_read_byte_1F2021
294
 311 0264 802D      		mov r24,__tmp_reg__
295
 312               	/* #NOAPP */
296
 313 0266 8630      		cpi r24,lo8(6)
297
 314 0268 00F0      		brlo .L27
298
 315 026a 83E0      		ldi r24,lo8(3)
299
 316 026c D901      		movw r26,r18
300
 317               	/* #APP */
301
 318 026e 082E      		mov __tmp_reg__,r24
302
 319 0270 0E94 0000 		call __eeprom_write_byte_1F2021
303
 320               	/* #NOAPP */
304
 321               	.L27:
305
 322 0274 90E0      		ldi r25,lo8(0)
306
 323               	/* epilogue: frame size=0 */
307
 324 0276 0895      		ret
308
 325               	/* epilogue end (size=1) */
309
 326               	/* function GetActiveParamSet size 17 (16) */
310
 328               	.global	SetActiveParamSet
311
 330               	SetActiveParamSet:
312
 331               	/* prologue: frame size=0 */
313
 332               	/* prologue end (size=0) */
314
 333 0278 8630      		cpi r24,lo8(6)
315
 334 027a 00F0      		brlo .L31
316
 335 027c 85E0      		ldi r24,lo8(5)
317
 336 027e 00C0      		rjmp .L33
318
 337               	.L31:
319
 338 0280 8823      		tst r24
320
 339 0282 01F4      		brne .L33
321
 340 0284 81E0      		ldi r24,lo8(1)
322
 341               	.L33:
323
 342 0286 A2E0      		ldi r26,lo8(2)
324
 343 0288 B0E0      		ldi r27,hi8(2)
325
 344               	/* #APP */
326
 345 028a 082E      		mov __tmp_reg__,r24
327
 346 028c 0E94 0000 		call __eeprom_write_byte_1F2021
328
 347               	/* #NOAPP */
329
 348               	/* epilogue: frame size=0 */
330
 349 0290 0895      		ret
331
 350               	/* epilogue end (size=1) */
332
 351               	/* function SetActiveParamSet size 14 (13) */
333
 353               	.global	MixerTable_WriteToEEProm
334
 355               	MixerTable_WriteToEEProm:
335
 356               	/* prologue: frame size=0 */
336
 357 0292 CF93      		push r28
337
 358 0294 DF93      		push r29
338
 359               	/* prologue end (size=2) */
339
 360 0296 C0E0      		ldi r28,lo8(Mixer)
340
 361 0298 D0E0      		ldi r29,hi8(Mixer)
341
 362 029a 8091 0000 		lds r24,Mixer
342
 363 029e 8130      		cpi r24,lo8(1)
343
 364 02a0 01F0      		breq .L37
344
 365 02a2 80E0      		ldi r24,lo8(0)
345
 366 02a4 90E0      		ldi r25,hi8(0)
346
 367 02a6 00C0      		rjmp .L39
347
 368               	.L37:
348
 369 02a8 6DE4      		ldi r22,lo8(77)
349
 370 02aa 70E0      		ldi r23,hi8(77)
350
 371 02ac CE01      		movw r24,r28
351
 372 02ae 0E94 0000 		call RAM_Checksum
352
 373 02b2 8093 0000 		sts Mixer+77,r24
353
 374 02b6 8EE4      		ldi r24,lo8(78)
354
 375 02b8 A8EE      		ldi r26,lo8(1000)
355
 376 02ba B3E0      		ldi r27,hi8(1000)
356
 377 02bc FE01      		movw r30,r28
357
 378               	/* #APP */
358
 379 02be 182E      		mov __zero_reg__,r24
359
 380 02c0 0E94 0000 		call __eeprom_write_block_1F2021
360
 381               	/* #NOAPP */
361
 382 02c4 81E0      		ldi r24,lo8(1)
362
 383 02c6 90E0      		ldi r25,hi8(1)
363
 384               	.L39:
364
 385               	/* epilogue: frame size=0 */
365
 386 02c8 DF91      		pop r29
366
 387 02ca CF91      		pop r28
367
 388 02cc 0895      		ret
368
 389               	/* epilogue end (size=3) */
369
 390               	/* function MixerTable_WriteToEEProm size 31 (26) */
370
 392               	.global	MixerTable_ReadFromEEProm
371
 394               	MixerTable_ReadFromEEProm:
372
 395               	/* prologue: frame size=0 */
373
 396               	/* prologue end (size=0) */
374
 397 02ce 6DE4      		ldi r22,lo8(77)
375
 398 02d0 70E0      		ldi r23,hi8(77)
376
 399 02d2 88EE      		ldi r24,lo8(1000)
377
 400 02d4 93E0      		ldi r25,hi8(1000)
378
 401 02d6 0E94 0000 		call EEProm_Checksum
379
 402 02da A5E3      		ldi r26,lo8(1077)
380
 403 02dc B4E0      		ldi r27,hi8(1077)
381
 404               	/* #APP */
382
 405 02de 0E94 0000 		call __eeprom_read_byte_1F2021
383
 406 02e2 902D      		mov r25,__tmp_reg__
384
 407               	/* #NOAPP */
385
 408 02e4 8917      		cp r24,r25
386
 409 02e6 01F4      		brne .L42
387
 410 02e8 28EE      		ldi r18,lo8(1000)
388
 411 02ea 33E0      		ldi r19,hi8(1000)
389
 412 02ec D901      		movw r26,r18
390
 413               	/* #APP */
391
 414 02ee 0E94 0000 		call __eeprom_read_byte_1F2021
392
 415 02f2 802D      		mov r24,__tmp_reg__
393
 416               	/* #NOAPP */
394
 417 02f4 8130      		cpi r24,lo8(1)
395
 418 02f6 01F4      		brne .L42
396
 419 02f8 8EE4      		ldi r24,lo8(78)
397
 420 02fa E0E0      		ldi r30,lo8(Mixer)
398
 421 02fc F0E0      		ldi r31,hi8(Mixer)
399
 422 02fe D901      		movw r26,r18
400
 423               	/* #APP */
401
 424 0300 182E      		mov __zero_reg__,r24
402
 425 0302 0E94 0000 		call __eeprom_read_block_1F2021
403
 426               	/* #NOAPP */
404
 427 0306 81E0      		ldi r24,lo8(1)
405
 428 0308 90E0      		ldi r25,hi8(1)
406
 429 030a 0895      		ret
407
 430               	.L42:
408
 431 030c 80E0      		ldi r24,lo8(0)
409
 432 030e 90E0      		ldi r25,hi8(0)
410
 433 0310 0895      		ret
411
 434               	/* epilogue: frame size=0 */
412
 435               	/* epilogue: noreturn */
413
 436               	/* epilogue end (size=0) */
414
 437               	/* function MixerTable_ReadFromEEProm size 37 (37) */
415
 439               		.data
416
 440               	.LC0:
417
 441 0000 5175 6164 		.string	"Quadro"
418
 441      726F 00
419
 442 0007 00        		.string	""
420
 443               		.text
421
 444               	.global	MixerTable_Default
422
 446               	MixerTable_Default:
423
 447               	/* prologue: frame size=0 */
424
 448               	/* prologue end (size=0) */
425
 449 0312 81E0      		ldi r24,lo8(1)
426
 450 0314 8093 0000 		sts Mixer,r24
427
 451 0318 E0E0      		ldi r30,lo8(Mixer+13)
428
 452 031a F0E0      		ldi r31,hi8(Mixer+13)
429
 453               	.L48:
430
 454 031c 1082      		st Z,__zero_reg__
431
 455 031e 1182      		std Z+1,__zero_reg__
432
 456 0320 1282      		std Z+2,__zero_reg__
433
 457 0322 1382      		std Z+3,__zero_reg__
434
 458 0324 3496      		adiw r30,4
435
 459 0326 80E0      		ldi r24,hi8(Mixer+77)
436
 460 0328 E030      		cpi r30,lo8(Mixer+77)
437
 461 032a F807      		cpc r31,r24
438
 462 032c 01F4      		brne .L48
439
 463 032e 80E4      		ldi r24,lo8(64)
440
 464 0330 8093 0000 		sts Mixer+13,r24
441
 465 0334 8093 0000 		sts Mixer+14,r24
442
 466 0338 1092 0000 		sts Mixer+15,__zero_reg__
443
 467 033c 8093 0000 		sts Mixer+16,r24
444
 468 0340 8093 0000 		sts Mixer+17,r24
445
 469 0344 90EC      		ldi r25,lo8(-64)
446
 470 0346 9093 0000 		sts Mixer+18,r25
447
 471 034a 1092 0000 		sts Mixer+19,__zero_reg__
448
 472 034e 8093 0000 		sts Mixer+20,r24
449
 473 0352 8093 0000 		sts Mixer+21,r24
450
 474 0356 1092 0000 		sts Mixer+22,__zero_reg__
451
 475 035a 9093 0000 		sts Mixer+23,r25
452
 476 035e 9093 0000 		sts Mixer+24,r25
453
 477 0362 8093 0000 		sts Mixer+25,r24
454
 478 0366 1092 0000 		sts Mixer+26,__zero_reg__
455
 479 036a 8093 0000 		sts Mixer+27,r24
456
 480 036e 9093 0000 		sts Mixer+28,r25
457
 481 0372 A0E0      		ldi r26,lo8(Mixer+1)
458
 482 0374 B0E0      		ldi r27,hi8(Mixer+1)
459
 483 0376 E0E0      		ldi r30,lo8(.LC0)
460
 484 0378 F0E0      		ldi r31,hi8(.LC0)
461
 485 037a 87E0      		ldi r24,lo8(7)
462
 486               	.L50:
463
 487 037c 0190      		ld r0,Z+
464
 488 037e 0D92      		st X+,r0
465
 489 0380 8150      		subi r24,lo8(-(-1))
466
 490 0382 01F4      		brne .L50
467
 491 0384 6DE4      		ldi r22,lo8(77)
468
 492 0386 70E0      		ldi r23,hi8(77)
469
 493 0388 80E0      		ldi r24,lo8(Mixer)
470
 494 038a 90E0      		ldi r25,hi8(Mixer)
471
 495 038c 0E94 0000 		call RAM_Checksum
472
 496 0390 8093 0000 		sts Mixer+77,r24
473
 497               	/* epilogue: frame size=0 */
474
 498 0394 0895      		ret
475
 499               	/* epilogue end (size=1) */
476
 500               	/* function MixerTable_Default size 67 (66) */
477
 502               		.data
478
 503               	.LC1:
479
 504 0008 4265 6769 		.string	"Beginner"
480
 504      6E6E 6572
481
 504      00
482
 505 0011 00        		.string	""
483
 506               		.text
484
 507               	.global	ParamSet_DefaultSet3
485
 509               	ParamSet_DefaultSet3:
486
 510               	/* prologue: frame size=0 */
487
 511               	/* prologue end (size=0) */
488
 512 0396 0E94 0000 		call CommonDefaults
489
 513 039a 88E0      		ldi r24,lo8(8)
490
 514 039c 8093 0000 		sts EE_Parameter+23,r24
491
 515 03a0 30E1      		ldi r19,lo8(16)
492
 516 03a2 3093 0000 		sts EE_Parameter+24,r19
493
 517 03a6 26E0      		ldi r18,lo8(6)
494
 518 03a8 2093 0000 		sts EE_Parameter+25,r18
495
 519 03ac 94E6      		ldi r25,lo8(100)
496
 520 03ae 9093 0000 		sts EE_Parameter+30,r25
497
 521 03b2 88E7      		ldi r24,lo8(120)
498
 522 03b4 8093 0000 		sts EE_Parameter+31,r24
499
 523 03b8 9093 0000 		sts EE_Parameter+33,r25
500
 524 03bc 8093 0000 		sts EE_Parameter+34,r24
501
 525 03c0 2093 0000 		sts EE_Parameter+35,r18
502
 526 03c4 3093 0000 		sts EE_Parameter+40,r19
503
 527 03c8 8AE5      		ldi r24,lo8(90)
504
 528 03ca 8093 0000 		sts EE_Parameter+62,r24
505
 529 03ce 80E5      		ldi r24,lo8(80)
506
 530 03d0 8093 0000 		sts EE_Parameter+63,r24
507
 531 03d4 96E4      		ldi r25,lo8(70)
508
 532 03d6 9093 0000 		sts EE_Parameter+64,r25
509
 533 03da 80E2      		ldi r24,lo8(32)
510
 534 03dc 8093 0000 		sts EE_Parameter+67,r24
511
 535 03e0 9093 0000 		sts EE_Parameter+69,r25
512
 536 03e4 A0E0      		ldi r26,lo8(EE_Parameter+103)
513
 537 03e6 B0E0      		ldi r27,hi8(EE_Parameter+103)
514
 538 03e8 E0E0      		ldi r30,lo8(.LC1)
515
 539 03ea F0E0      		ldi r31,hi8(.LC1)
516
 540 03ec 8CE0      		ldi r24,lo8(12)
517
 541               	.L57:
518
 542 03ee 0190      		ld r0,Z+
519
 543 03f0 0D92      		st X+,r0
520
 544 03f2 8150      		subi r24,lo8(-(-1))
521
 545 03f4 01F4      		brne .L57
522
 546 03f6 63E7      		ldi r22,lo8(115)
523
 547 03f8 70E0      		ldi r23,hi8(115)
524
 548 03fa 80E0      		ldi r24,lo8(EE_Parameter)
525
 549 03fc 90E0      		ldi r25,hi8(EE_Parameter)
526
 550 03fe 0E94 0000 		call RAM_Checksum
527
 551 0402 8093 0000 		sts EE_Parameter+115,r24
528
 552               	/* epilogue: frame size=0 */
529
 553 0406 0895      		ret
530
 554               	/* epilogue end (size=1) */
531
 555               	/* function ParamSet_DefaultSet3 size 58 (57) */
532
 557               		.data
533
 558               	.LC2:
534
 559 0012 4E6F 726D 		.string	"Normal"
535
 559      616C 00
536
 560 0019 00        		.string	""
537
 561               		.text
538
 562               	.global	ParamSet_DefaultSet2
539
 564               	ParamSet_DefaultSet2:
540
 565               	/* prologue: frame size=0 */
541
 566               	/* prologue end (size=0) */
542
 567 0408 0E94 0000 		call CommonDefaults
543
 568 040c 8AE0      		ldi r24,lo8(10)
544
 569 040e 8093 0000 		sts EE_Parameter+23,r24
545
 570 0412 80E1      		ldi r24,lo8(16)
546
 571 0414 8093 0000 		sts EE_Parameter+24,r24
547
 572 0418 26E0      		ldi r18,lo8(6)
548
 573 041a 2093 0000 		sts EE_Parameter+25,r18
549
 574 041e 9AE5      		ldi r25,lo8(90)
550
 575 0420 9093 0000 		sts EE_Parameter+30,r25
551
 576 0424 88E7      		ldi r24,lo8(120)
552
 577 0426 8093 0000 		sts EE_Parameter+31,r24
553
 578 042a 9093 0000 		sts EE_Parameter+33,r25
554
 579 042e 8093 0000 		sts EE_Parameter+34,r24
555
 580 0432 2093 0000 		sts EE_Parameter+35,r18
556
 581 0436 20E2      		ldi r18,lo8(32)
557
 582 0438 2093 0000 		sts EE_Parameter+40,r18
558
 583 043c 9093 0000 		sts EE_Parameter+62,r25
559
 584 0440 80E5      		ldi r24,lo8(80)
560
 585 0442 8093 0000 		sts EE_Parameter+63,r24
561
 586 0446 8CE3      		ldi r24,lo8(60)
562
 587 0448 8093 0000 		sts EE_Parameter+64,r24
563
 588 044c 2093 0000 		sts EE_Parameter+67,r18
564
 589 0450 8BE4      		ldi r24,lo8(75)
565
 590 0452 8093 0000 		sts EE_Parameter+69,r24
566
 591 0456 A0E0      		ldi r26,lo8(EE_Parameter+103)
567
 592 0458 B0E0      		ldi r27,hi8(EE_Parameter+103)
568
 593 045a E0E0      		ldi r30,lo8(.LC2)
569
 594 045c F0E0      		ldi r31,hi8(.LC2)
570
 595 045e 8CE0      		ldi r24,lo8(12)
571
 596               	.L62:
572
 597 0460 0190      		ld r0,Z+
573
 598 0462 0D92      		st X+,r0
574
 599 0464 8150      		subi r24,lo8(-(-1))
575
 600 0466 01F4      		brne .L62
576
 601 0468 63E7      		ldi r22,lo8(115)
577
 602 046a 70E0      		ldi r23,hi8(115)
578
 603 046c 80E0      		ldi r24,lo8(EE_Parameter)
579
 604 046e 90E0      		ldi r25,hi8(EE_Parameter)
580
 605 0470 0E94 0000 		call RAM_Checksum
581
 606 0474 8093 0000 		sts EE_Parameter+115,r24
582
 607               	/* epilogue: frame size=0 */
583
 608 0478 0895      		ret
584
 609               	/* epilogue end (size=1) */
585
 610               	/* function ParamSet_DefaultSet2 size 58 (57) */
586
 612               		.data
587
 613               	.LC3:
588
 614 001a 5370 6F72 		.string	"Sport"
589
 614      7400
590
 615 0020 00        		.string	""
591
 616               		.text
592
 617               	.global	ParamSet_DefaultSet1
593
 619               	ParamSet_DefaultSet1:
594
 620               	/* prologue: frame size=0 */
595
 621               	/* prologue end (size=0) */
596
 622 047a 0E94 0000 		call CommonDefaults
597
 623 047e 8EE0      		ldi r24,lo8(14)
598
 624 0480 8093 0000 		sts EE_Parameter+23,r24
599
 625 0484 20E1      		ldi r18,lo8(16)
600
 626 0486 2093 0000 		sts EE_Parameter+24,r18
601
 627 048a 8CE0      		ldi r24,lo8(12)
602
 628 048c 8093 0000 		sts EE_Parameter+25,r24
603
 629 0490 90E5      		ldi r25,lo8(80)
604
 630 0492 9093 0000 		sts EE_Parameter+30,r25
605
 631 0496 86E9      		ldi r24,lo8(-106)
606
 632 0498 8093 0000 		sts EE_Parameter+31,r24
607
 633 049c 9093 0000 		sts EE_Parameter+33,r25
608
 634 04a0 8093 0000 		sts EE_Parameter+34,r24
609
 635 04a4 86E0      		ldi r24,lo8(6)
610
 636 04a6 8093 0000 		sts EE_Parameter+35,r24
611
 637 04aa 80E2      		ldi r24,lo8(32)
612
 638 04ac 8093 0000 		sts EE_Parameter+40,r24
613
 639 04b0 8AE5      		ldi r24,lo8(90)
614
 640 04b2 8093 0000 		sts EE_Parameter+62,r24
615
 641 04b6 9093 0000 		sts EE_Parameter+63,r25
616
 642 04ba 81E0      		ldi r24,lo8(1)
617
 643 04bc 8093 0000 		sts EE_Parameter+64,r24
618
 644 04c0 2093 0000 		sts EE_Parameter+67,r18
619
 645 04c4 84E6      		ldi r24,lo8(100)
620
 646 04c6 8093 0000 		sts EE_Parameter+69,r24
621
 647 04ca A0E0      		ldi r26,lo8(EE_Parameter+103)
622
 648 04cc B0E0      		ldi r27,hi8(EE_Parameter+103)
623
 649 04ce E0E0      		ldi r30,lo8(.LC3)
624
 650 04d0 F0E0      		ldi r31,hi8(.LC3)
625
 651 04d2 8CE0      		ldi r24,lo8(12)
626
 652               	.L67:
627
 653 04d4 0190      		ld r0,Z+
628
 654 04d6 0D92      		st X+,r0
629
 655 04d8 8150      		subi r24,lo8(-(-1))
630
 656 04da 01F4      		brne .L67
631
 657 04dc 63E7      		ldi r22,lo8(115)
632
 658 04de 70E0      		ldi r23,hi8(115)
633
 659 04e0 80E0      		ldi r24,lo8(EE_Parameter)
634
 660 04e2 90E0      		ldi r25,hi8(EE_Parameter)
635
 661 04e4 0E94 0000 		call RAM_Checksum
636
 662 04e8 8093 0000 		sts EE_Parameter+115,r24
637
 663               	/* epilogue: frame size=0 */
638
 664 04ec 0895      		ret
639
 665               	/* epilogue end (size=1) */
640
 666               	/* function ParamSet_DefaultSet1 size 59 (58) */
641
 668               	.global	ParamSet_WriteToEEProm
642
 670               	ParamSet_WriteToEEProm:
643
 671               	/* prologue: frame size=0 */
644
 672 04ee FF92      		push r15
645
 673 04f0 0F93      		push r16
646
 674 04f2 1F93      		push r17
647
 675               	/* prologue end (size=3) */
648
 676 04f4 F82E      		mov r15,r24
649
 677 04f6 8091 0000 		lds r24,EE_Parameter
650
 678 04fa 8535      		cpi r24,lo8(85)
651
 679 04fc 01F4      		brne .L72
652
 680 04fe 85E0      		ldi r24,lo8(5)
653
 681 0500 8F15      		cp r24,r15
654
 682 0502 00F4      		brsh .L74
655
 683 0504 85E0      		ldi r24,lo8(5)
656
 684 0506 F82E      		mov r15,r24
657
 685 0508 00C0      		rjmp .L76
658
 686               	.L74:
659
 687 050a FF20      		tst r15
660
 688 050c 01F0      		breq .L72
661
 689               	.L76:
662
 690 050e 00E0      		ldi r16,lo8(EE_Parameter)
663
 691 0510 10E0      		ldi r17,hi8(EE_Parameter)
664
 692 0512 63E7      		ldi r22,lo8(115)
665
 693 0514 70E0      		ldi r23,hi8(115)
666
 694 0516 C801      		movw r24,r16
667
 695 0518 0E94 0000 		call RAM_Checksum
668
 696 051c 8093 0000 		sts EE_Parameter+115,r24
669
 697 0520 84E7      		ldi r24,lo8(116)
670
 698 0522 F89E      		mul r15,r24
671
 699 0524 D001      		movw r26,r0
672
 700 0526 1124      		clr r1
673
 701 0528 5097      		sbiw r26,16
674
 702 052a F801      		movw r30,r16
675
 703               	/* #APP */
676
 704 052c 182E      		mov __zero_reg__,r24
677
 705 052e 0E94 0000 		call __eeprom_write_block_1F2021
678
 706               	/* #NOAPP */
679
 707 0532 8CE0      		ldi r24,lo8(12)
680
 708 0534 0F5F      		subi r16,lo8(-(1))
681
 709 0536 1F4F      		sbci r17,hi8(-(1))
682
 710 0538 A0E5      		ldi r26,lo8(80)
683
 711 053a B0E0      		ldi r27,hi8(80)
684
 712 053c F801      		movw r30,r16
685
 713               	/* #APP */
686
 714 053e 182E      		mov __zero_reg__,r24
687
 715 0540 0E94 0000 		call __eeprom_write_block_1F2021
688
 716               	/* #NOAPP */
689
 717 0544 6CE0      		ldi r22,lo8(12)
690
 718 0546 70E0      		ldi r23,hi8(12)
691
 719 0548 C801      		movw r24,r16
692
 720 054a 0E94 0000 		call RAM_Checksum
693
 721 054e ACE5      		ldi r26,lo8(92)
694
 722 0550 B0E0      		ldi r27,hi8(92)
695
 723               	/* #APP */
696
 724 0552 082E      		mov __tmp_reg__,r24
697
 725 0554 0E94 0000 		call __eeprom_write_byte_1F2021
698
 726               	/* #NOAPP */
699
 727 0558 8F2D      		mov r24,r15
700
 728 055a 0E94 0000 		call SetActiveParamSet
701
 729 055e 0E94 0000 		call LED_Init
702
 730 0562 81E0      		ldi r24,lo8(1)
703
 731 0564 90E0      		ldi r25,hi8(1)
704
 732 0566 00C0      		rjmp .L77
705
 733               	.L72:
706
 734 0568 80E0      		ldi r24,lo8(0)
707
 735 056a 90E0      		ldi r25,hi8(0)
708
 736               	.L77:
709
 737               	/* epilogue: frame size=0 */
710
 738 056c 1F91      		pop r17
711
 739 056e 0F91      		pop r16
712
 740 0570 FF90      		pop r15
713
 741 0572 0895      		ret
714
 742               	/* epilogue end (size=4) */
715
 743               	/* function ParamSet_WriteToEEProm size 70 (63) */
716
 745               	.global	ParamSet_ReadFromEEProm
717
 747               	ParamSet_ReadFromEEProm:
718
 748               	/* prologue: frame size=0 */
719
 749 0574 FF92      		push r15
720
 750 0576 0F93      		push r16
721
 751 0578 1F93      		push r17
722
 752 057a CF93      		push r28
723
 753 057c DF93      		push r29
724
 754               	/* prologue end (size=5) */
725
 755 057e 982F      		mov r25,r24
726
 756 0580 8150      		subi r24,lo8(-(-1))
727
 757 0582 8530      		cpi r24,lo8(5)
728
 758 0584 00F0      		brlo .L80
729
 759 0586 93E0      		ldi r25,lo8(3)
730
 760               	.L80:
731
 761 0588 24E7      		ldi r18,lo8(116)
732
 762 058a F22E      		mov r15,r18
733
 763 058c 9F9D      		mul r25,r15
734
 764 058e 8001      		movw r16,r0
735
 765 0590 1124      		clr r1
736
 766 0592 E801      		movw r28,r16
737
 767 0594 6097      		sbiw r28,16
738
 768 0596 63E7      		ldi r22,lo8(115)
739
 769 0598 70E0      		ldi r23,hi8(115)
740
 770 059a CE01      		movw r24,r28
741
 771 059c 0E94 0000 		call EEProm_Checksum
742
 772 05a0 0D59      		subi r16,lo8(-(99))
743
 773 05a2 1F4F      		sbci r17,hi8(-(99))
744
 774 05a4 D801      		movw r26,r16
745
 775               	/* #APP */
746
 776 05a6 0E94 0000 		call __eeprom_read_byte_1F2021
747
 777 05aa 902D      		mov r25,__tmp_reg__
748
 778               	/* #NOAPP */
749
 779 05ac 8917      		cp r24,r25
750
 780 05ae 01F4      		brne .L82
751
 781 05b0 DE01      		movw r26,r28
752
 782               	/* #APP */
753
 783 05b2 0E94 0000 		call __eeprom_read_byte_1F2021
754
 784 05b6 802D      		mov r24,__tmp_reg__
755
 785               	/* #NOAPP */
756
 786 05b8 8535      		cpi r24,lo8(85)
757
 787 05ba 01F4      		brne .L82
758
 788 05bc E0E0      		ldi r30,lo8(EE_Parameter)
759
 789 05be F0E0      		ldi r31,hi8(EE_Parameter)
760
 790 05c0 DE01      		movw r26,r28
761
 791               	/* #APP */
762
 792 05c2 1F2C      		mov __zero_reg__,r15
763
 793 05c4 0E94 0000 		call __eeprom_read_block_1F2021
764
 794               	/* #NOAPP */
765
 795 05c8 0E94 0000 		call LED_Init
766
 796 05cc 81E0      		ldi r24,lo8(1)
767
 797 05ce 90E0      		ldi r25,hi8(1)
768
 798 05d0 00C0      		rjmp .L85
769
 799               	.L82:
770
 800 05d2 80E0      		ldi r24,lo8(0)
771
 801 05d4 90E0      		ldi r25,hi8(0)
772
 802               	.L85:
773
 803               	/* epilogue: frame size=0 */
774
 804 05d6 E5E0      		ldi r30,5
775
 805 05d8 CDB7      		in r28,__SP_L__
776
 806 05da DEB7      		in r29,__SP_H__
777
 807 05dc 0C94 0000 		jmp __epilogue_restores__+26
778
 808               	/* epilogue end (size=5) */
779
 809               	/* function ParamSet_ReadFromEEProm size 57 (47) */
780
 811               	.global	SetDefaultParameter
781
 813               	SetDefaultParameter:
782
 814               	/* prologue: frame size=0 */
783
 815 05e0 0F93      		push r16
784
 816 05e2 1F93      		push r17
785
 817               	/* prologue end (size=2) */
786
 818 05e4 182F      		mov r17,r24
787
 819 05e6 062F      		mov r16,r22
788
 820 05e8 8630      		cpi r24,lo8(6)
789
 821 05ea 00F4      		brsh .L88
790
 822 05ec 8823      		tst r24
791
 823 05ee 01F4      		brne .L90
792
 824 05f0 11E0      		ldi r17,lo8(1)
793
 825 05f2 00C0      		rjmp .L92
794
 826               	.L90:
795
 827 05f4 8230      		cpi r24,lo8(2)
796
 828 05f6 01F0      		breq .L94
797
 829 05f8 8330      		cpi r24,lo8(3)
798
 830 05fa 01F0      		breq .L93
799
 831 05fc 8130      		cpi r24,lo8(1)
800
 832 05fe 01F4      		brne .L93
801
 833               	.L92:
802
 834 0600 0E94 0000 		call ParamSet_DefaultSet1
803
 835 0604 00C0      		rjmp .L96
804
 836               	.L94:
805
 837 0606 0E94 0000 		call ParamSet_DefaultSet2
806
 838 060a 00C0      		rjmp .L96
807
 839               	.L88:
808
 840 060c 15E0      		ldi r17,lo8(5)
809
 841               	.L93:
810
 842 060e 0E94 0000 		call ParamSet_DefaultSet3
811
 843               	.L96:
812
 844 0612 0023      		tst r16
813
 845 0614 01F0      		breq .L97
814
 846 0616 6CE0      		ldi r22,lo8(12)
815
 847 0618 70E0      		ldi r23,hi8(12)
816
 848 061a 80E5      		ldi r24,lo8(80)
817
 849 061c 90E0      		ldi r25,hi8(80)
818
 850 061e 0E94 0000 		call EEProm_Checksum
819
 851 0622 ACE5      		ldi r26,lo8(92)
820
 852 0624 B0E0      		ldi r27,hi8(92)
821
 853               	/* #APP */
822
 854 0626 0E94 0000 		call __eeprom_read_byte_1F2021
823
 855 062a 902D      		mov r25,__tmp_reg__
824
 856               	/* #NOAPP */
825
 857 062c 8917      		cp r24,r25
826
 858 062e 01F4      		brne .L97
827
 859 0630 8CE0      		ldi r24,lo8(12)
828
 860 0632 E0E0      		ldi r30,lo8(EE_Parameter+1)
829
 861 0634 F0E0      		ldi r31,hi8(EE_Parameter+1)
830
 862 0636 A0E5      		ldi r26,lo8(80)
831
 863 0638 B0E0      		ldi r27,hi8(80)
832
 864               	/* #APP */
833
 865 063a 182E      		mov __zero_reg__,r24
834
 866 063c 0E94 0000 		call __eeprom_read_block_1F2021
835
 867               	/* #NOAPP */
836
 868 0640 00C0      		rjmp .L101
837
 869               	.L97:
838
 870 0642 0E94 0000 		call ParamSet_DefaultStickMapping
839
 871               	.L101:
840
 872 0646 812F      		mov r24,r17
841
 873 0648 0E94 0000 		call ParamSet_WriteToEEProm
842
 874               	/* epilogue: frame size=0 */
843
 875 064c 1F91      		pop r17
844
 876 064e 0F91      		pop r16
845
 877 0650 0895      		ret
846
 878               	/* epilogue end (size=3) */
847
 879               	/* function SetDefaultParameter size 59 (54) */
848
 881               	.global	ParamSet_Init
849
 883               	ParamSet_Init:
850
 884               	/* prologue: frame size=0 */
851
 885 0652 A0E0      		ldi r26,lo8(0)
852
 886 0654 B0E0      		ldi r27,hi8(0)
853
 887 0656 E0E0      		ldi r30,pm_lo8(1f)
854
 888 0658 F0E0      		ldi r31,pm_hi8(1f)
855
 889 065a 0C94 0000 		jmp __prologue_saves__+10
856
 890               	1:
857
 891               	/* prologue end (size=6) */
858
 892 065e 21E0      		ldi r18,lo8(1)
859
 893 0660 30E0      		ldi r19,hi8(1)
860
 894 0662 D901      		movw r26,r18
861
 895               	/* #APP */
862
 896 0664 0E94 0000 		call __eeprom_read_byte_1F2021
863
 897 0668 802D      		mov r24,__tmp_reg__
864
 898               	/* #NOAPP */
865
 899 066a 8535      		cpi r24,lo8(85)
866
 900 066c 01F4      		brne .L104
867
 901 066e DD24      		clr r13
868
 902 0670 00C0      		rjmp .L106
869
 903               	.L104:
870
 904 0672 85E5      		ldi r24,lo8(85)
871
 905 0674 D901      		movw r26,r18
872
 906               	/* #APP */
873
 907 0676 082E      		mov __tmp_reg__,r24
874
 908 0678 0E94 0000 		call __eeprom_write_byte_1F2021
875
 909               	/* #NOAPP */
876
 910 067c DD24      		clr r13
877
 911 067e D394      		inc r13
878
 912               	.L106:
879
 913 0680 6CE0      		ldi r22,lo8(12)
880
 914 0682 70E0      		ldi r23,hi8(12)
881
 915 0684 80E5      		ldi r24,lo8(80)
882
 916 0686 90E0      		ldi r25,hi8(80)
883
 917 0688 0E94 0000 		call EEProm_Checksum
884
 918 068c 782E      		mov r7,r24
885
 919 068e ACE5      		ldi r26,lo8(92)
886
 920 0690 B0E0      		ldi r27,hi8(92)
887
 921               	/* #APP */
888
 922 0692 0E94 0000 		call __eeprom_read_byte_1F2021
889
 923 0696 C02C      		mov r12,__tmp_reg__
890
 924               	/* #NOAPP */
891
 925 0698 10E0      		ldi r17,lo8(0)
892
 926 069a C1E0      		ldi r28,lo8(1)
893
 927 069c D0E0      		ldi r29,hi8(1)
894
 928 069e 50E0      		ldi r21,lo8(__c.2643)
895
 929 06a0 852E      		mov r8,r21
896
 930 06a2 50E0      		ldi r21,hi8(__c.2643)
897
 931 06a4 952E      		mov r9,r21
898
 932 06a6 40E0      		ldi r20,lo8(gs(uart_putchar))
899
 933 06a8 A42E      		mov r10,r20
900
 934 06aa 40E0      		ldi r20,hi8(gs(uart_putchar))
901
 935 06ac B42E      		mov r11,r20
902
 936 06ae 30E0      		ldi r19,lo8(EE_Parameter+1)
903
 937 06b0 E32E      		mov r14,r19
904
 938 06b2 30E0      		ldi r19,hi8(EE_Parameter+1)
905
 939 06b4 F32E      		mov r15,r19
906
 940               	.L107:
907
 941 06b6 0C2F      		mov r16,r28
908
 942 06b8 DD20      		tst r13
909
 943 06ba 01F4      		brne .L108
910
 944 06bc 8C2F      		mov r24,r28
911
 945 06be 0E94 0000 		call ParamSet_ReadFromEEProm
912
 946 06c2 8823      		tst r24
913
 947 06c4 01F4      		brne .L110
914
 948               	.L108:
915
 949 06c6 DF93      		push r29
916
 950 06c8 CF93      		push r28
917
 951 06ca 9F92      		push r9
918
 952 06cc 8F92      		push r8
919
 953 06ce BF92      		push r11
920
 954 06d0 AF92      		push r10
921
 955 06d2 E091 0000 		lds r30,_printf_P
922
 956 06d6 F091 0000 		lds r31,(_printf_P)+1
923
 957 06da 0995      		icall
924
 958 06dc 8DB7      		in r24,__SP_L__
925
 959 06de 9EB7      		in r25,__SP_H__
926
 960 06e0 0696      		adiw r24,6
927
 961 06e2 8DBF      		out __SP_L__,r24
928
 962 06e4 0230      		cpi r16,lo8(2)
929
 963 06e6 01F0      		breq .L113
930
 964 06e8 0330      		cpi r16,lo8(3)
931
 965 06ea 01F0      		breq .L111
932
 966 06ec 0130      		cpi r16,lo8(1)
933
 967 06ee 01F4      		brne .L111
934
 968 06f0 0E94 0000 		call ParamSet_DefaultSet1
935
 969 06f4 00C0      		rjmp .L115
936
 970               	.L113:
937
 971 06f6 0E94 0000 		call ParamSet_DefaultSet2
938
 972 06fa 00C0      		rjmp .L115
939
 973               	.L111:
940
 974 06fc 0E94 0000 		call ParamSet_DefaultSet3
941
 975               	.L115:
942
 976 0700 7C14      		cp r7,r12
943
 977 0702 01F4      		brne .L116
944
 978 0704 8CE0      		ldi r24,lo8(12)
945
 979 0706 A0E5      		ldi r26,lo8(80)
946
 980 0708 B0E0      		ldi r27,hi8(80)
947
 981 070a F701      		movw r30,r14
948
 982               	/* #APP */
949
 983 070c 182E      		mov __zero_reg__,r24
950
 984 070e 0E94 0000 		call __eeprom_read_block_1F2021
951
 985               	/* #NOAPP */
952
 986 0712 00C0      		rjmp .L118
953
 987               	.L116:
954
 988 0714 0E94 0000 		call ParamSet_DefaultStickMapping
955
 989               	.L118:
956
 990 0718 802F      		mov r24,r16
957
 991 071a 0E94 0000 		call ParamSet_WriteToEEProm
958
 992 071e 11E0      		ldi r17,lo8(1)
959
 993               	.L110:
960
 994 0720 2196      		adiw r28,1
961
 995 0722 C630      		cpi r28,6
962
 996 0724 D105      		cpc r29,__zero_reg__
963
 997 0726 01F4      		brne .L107
964
 998 0728 1123      		tst r17
965
 999 072a 01F0      		breq .L120
966
 1000 072c 83E0      		ldi r24,lo8(3)
967
 1001 072e 0E94 0000 		call SetActiveParamSet
968
 1002               	.L120:
969
 1003 0732 22E0      		ldi r18,lo8(2)
970
 1004 0734 30E0      		ldi r19,hi8(2)
971
 1005 0736 D901      		movw r26,r18
972
 1006               	/* #APP */
973
 1007 0738 0E94 0000 		call __eeprom_read_byte_1F2021
974
 1008 073c 002D      		mov r16,__tmp_reg__
975
 1009               	/* #NOAPP */
976
 1010 073e 0630      		cpi r16,lo8(6)
977
 1011 0740 00F0      		brlo .L122
978
 1012 0742 83E0      		ldi r24,lo8(3)
979
 1013 0744 D901      		movw r26,r18
980
 1014               	/* #APP */
981
 1015 0746 082E      		mov __tmp_reg__,r24
982
 1016 0748 0E94 0000 		call __eeprom_write_byte_1F2021
983
 1017               	/* #NOAPP */
984
 1018 074c 03E0      		ldi r16,lo8(3)
985
 1019               	.L122:
986
 1020 074e 802F      		mov r24,r16
987
 1021 0750 0E94 0000 		call ParamSet_ReadFromEEProm
988
 1022 0754 802F      		mov r24,r16
989
 1023 0756 90E0      		ldi r25,lo8(0)
990
 1024 0758 9F93      		push r25
991
 1025 075a 8F93      		push r24
992
 1026 075c 80E0      		ldi r24,lo8(__c.2653)
993
 1027 075e 90E0      		ldi r25,hi8(__c.2653)
994
 1028 0760 9F93      		push r25
995
 1029 0762 8F93      		push r24
996
 1030 0764 C0E0      		ldi r28,lo8(gs(uart_putchar))
997
 1031 0766 D0E0      		ldi r29,hi8(gs(uart_putchar))
998
 1032 0768 DF93      		push r29
999
 1033 076a CF93      		push r28
1000
 1034 076c E091 0000 		lds r30,_printf_P
1001
 1035 0770 F091 0000 		lds r31,(_printf_P)+1
1002
 1036 0774 0995      		icall
1003
 1037 0776 8DB7      		in r24,__SP_L__
1004
 1038 0778 9EB7      		in r25,__SP_H__
1005
 1039 077a 0696      		adiw r24,6
1006
 1040 077c 8DBF      		out __SP_L__,r24
1007
 1041 077e DD20      		tst r13
1008
 1042 0780 01F4      		brne .L124
1009
 1043 0782 0E94 0000 		call MixerTable_ReadFromEEProm
1010
 1044 0786 8823      		tst r24
1011
 1045 0788 01F4      		brne .L126
1012
 1046               	.L124:
1013
 1047 078a 80E0      		ldi r24,lo8(__c.2655)
1014
 1048 078c 90E0      		ldi r25,hi8(__c.2655)
1015
 1049 078e 9F93      		push r25
1016
 1050 0790 8F93      		push r24
1017
 1051 0792 DF93      		push r29
1018
 1052 0794 CF93      		push r28
1019
 1053 0796 E091 0000 		lds r30,_printf_P
1020
 1054 079a F091 0000 		lds r31,(_printf_P)+1
1021
 1055 079e 0995      		icall
1022
 1056 07a0 0E94 0000 		call MixerTable_Default
1023
 1057 07a4 0E94 0000 		call MixerTable_WriteToEEProm
1024
 1058 07a8 0F90      		pop __tmp_reg__
1025
 1059 07aa 0F90      		pop __tmp_reg__
1026
 1060 07ac 0F90      		pop __tmp_reg__
1027
 1061 07ae 0F90      		pop __tmp_reg__
1028
 1062               	.L126:
1029
 1063 07b0 E0E0      		ldi r30,lo8(Mixer+13)
1030
 1064 07b2 F0E0      		ldi r31,hi8(Mixer+13)
1031
 1065 07b4 90E0      		ldi r25,lo8(0)
1032
 1066               	.L127:
1033
 1067 07b6 8081      		ld r24,Z
1034
 1068 07b8 1816      		cp __zero_reg__,r24
1035
 1069 07ba 04F4      		brge .L128
1036
 1070 07bc 9F5F      		subi r25,lo8(-(1))
1037
 1071               	.L128:
1038
 1072 07be 3496      		adiw r30,4
1039
 1073 07c0 80E0      		ldi r24,hi8(Mixer+77)
1040
 1074 07c2 E030      		cpi r30,lo8(Mixer+77)
1041
 1075 07c4 F807      		cpc r31,r24
1042
 1076 07c6 01F4      		brne .L127
1043
 1077 07c8 9093 0000 		sts RequiredMotors,r25
1044
 1078 07cc 892F      		mov r24,r25
1045
 1079 07ce 90E0      		ldi r25,lo8(0)
1046
 1080 07d0 9F93      		push r25
1047
 1081 07d2 8F93      		push r24
1048
 1082 07d4 80E0      		ldi r24,lo8(Mixer+1)
1049
 1083 07d6 90E0      		ldi r25,hi8(Mixer+1)
1050
 1084 07d8 9F93      		push r25
1051
 1085 07da 8F93      		push r24
1052
 1086 07dc 80E0      		ldi r24,lo8(__c.2660)
1053
 1087 07de 90E0      		ldi r25,hi8(__c.2660)
1054
 1088 07e0 9F93      		push r25
1055
 1089 07e2 8F93      		push r24
1056
 1090 07e4 00E0      		ldi r16,lo8(gs(uart_putchar))
1057
 1091 07e6 10E0      		ldi r17,hi8(gs(uart_putchar))
1058
 1092 07e8 1F93      		push r17
1059
 1093 07ea 0F93      		push r16
1060
 1094 07ec E091 0000 		lds r30,_printf_P
1061
 1095 07f0 F091 0000 		lds r31,(_printf_P)+1
1062
 1096 07f4 0995      		icall
1063
 1097 07f6 80E0      		ldi r24,lo8(__c.2662)
1064
 1098 07f8 90E0      		ldi r25,hi8(__c.2662)
1065
 1099 07fa 9F93      		push r25
1066
 1100 07fc 8F93      		push r24
1067
 1101 07fe 1F93      		push r17
1068
 1102 0800 0F93      		push r16
1069
 1103 0802 E091 0000 		lds r30,_printf_P
1070
 1104 0806 F091 0000 		lds r31,(_printf_P)+1
1071
 1105 080a 0995      		icall
1072
 1106 080c EDB7      		in r30,__SP_L__
1073
 1107 080e FEB7      		in r31,__SP_H__
1074
 1108 0810 3C96      		adiw r30,12
1075
 1109 0812 EDBF      		out __SP_L__,r30
1076
 1110               	/* epilogue: frame size=0 */
1077
 1111 0814 EDE0      		ldi r30,13
1078
 1112 0816 CDB7      		in r28,__SP_L__
1079
 1113 0818 DEB7      		in r29,__SP_H__
1080
 1114 081a 0C94 0000 		jmp __epilogue_restores__+10
1081
 1115               	/* epilogue end (size=5) */
1082
 1116               	/* function ParamSet_Init size 236 (225) */
1083
 1118               		.section	.progmem.data,"a",@progbits
1084
 1121               	__c.2662:
1085
 1122 0000 0A0D 3D3D 		.string	"\n\r=============================="
1086
 1122      3D3D 3D3D
1087
 1122      3D3D 3D3D
1088
 1122      3D3D 3D3D
1089
 1122      3D3D 3D3D
1090
 1125               	__c.2660:
1091
 1126 0021 0A0D 4D69 		.string	"\n\rMixer-Config: '%s' (%u Motors)"
1092
 1126      7865 722D
1093
 1126      436F 6E66
1094
 1126      6967 3A20
1095
 1126      2725 7327
1096
 1129               	__c.2655:
1097
 1130 0042 0A0D 4765 		.string	"\n\rGenerating default Mixer Table"
1098
 1130      6E65 7261
1099
 1130      7469 6E67
1100
 1130      2064 6566
1101
 1130      6175 6C74
1102
 1133               	__c.2653:
1103
 1134 0063 0A0D 5573 		.string	"\n\rUsing Parameter Set %d"
1104
 1134      696E 6720
1105
 1134      5061 7261
1106
 1134      6D65 7465
1107
 1134      7220 5365
1108
 1137               	__c.2643:
1109
 1138 007c 0A0D 4765 		.string	"\n\rGenerating default Parameter Set %d"
1110
 1138      6E65 7261
1111
 1138      7469 6E67
1112
 1138      2064 6566
1113
 1138      6175 6C74
1114
 1139               		.comm Mixer,78,1
1115
 1140               		.comm RequiredMotors,1,1
1116
 1141               		.comm EE_Parameter,116,1
1117
 1142               	/* File "eeprom.c": code 1072 = 0x0430 (1020), prologues  18, epilogues  34 */
1118
DEFINED SYMBOLS
1119
                            *ABS*:00000000 eeprom.c
1120
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:2      *ABS*:0000003f __SREG__
1121
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:3      *ABS*:0000003e __SP_H__
1122
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:4      *ABS*:0000003d __SP_L__
1123
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:5      *ABS*:00000000 __tmp_reg__
1124
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:6      *ABS*:00000001 __zero_reg__
1125
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:12     .text:00000000 RAM_Checksum
1126
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:41     .text:00000024 EEProm_Checksum
1127
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:73     .text:0000004c ParamSet_DefaultStickMapping
1128
                            *COM*:00000074 EE_Parameter
1129
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:107    .text:00000096 CommonDefaults
1130
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:240    .text:00000230 GetParamByte
1131
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:256    .text:0000023c SetParamByte
1132
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:271    .text:00000246 GetParamWord
1133
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:287    .text:00000250 SetParamWord
1134
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:303    .text:0000025a GetActiveParamSet
1135
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:330    .text:00000278 SetActiveParamSet
1136
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:355    .text:00000292 MixerTable_WriteToEEProm
1137
                            *COM*:0000004e Mixer
1138
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:394    .text:000002ce MixerTable_ReadFromEEProm
1139
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:446    .text:00000312 MixerTable_Default
1140
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:509    .text:00000396 ParamSet_DefaultSet3
1141
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:564    .text:00000408 ParamSet_DefaultSet2
1142
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:619    .text:0000047a ParamSet_DefaultSet1
1143
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:670    .text:000004ee ParamSet_WriteToEEProm
1144
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:747    .text:00000574 ParamSet_ReadFromEEProm
1145
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:813    .text:000005e0 SetDefaultParameter
1146
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:883    .text:00000652 ParamSet_Init
1147
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:1137   .progmem.data:0000007c __c.2643
1148
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:1133   .progmem.data:00000063 __c.2653
1149
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:1129   .progmem.data:00000042 __c.2655
1150
                            *COM*:00000001 RequiredMotors
1151
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:1125   .progmem.data:00000021 __c.2660
1152
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc9cj6yR.s:1121   .progmem.data:00000000 __c.2662
1153
 
1154
UNDEFINED SYMBOLS
1155
__do_copy_data
1156
__do_clear_bss
1157
__eeprom_read_byte_1F2021
1158
PlatinenVersion
1159
__eeprom_write_byte_1F2021
1160
__eeprom_read_word_1F2021
1161
__eeprom_write_word_1F2021
1162
__eeprom_write_block_1F2021
1163
__eeprom_read_block_1F2021
1164
LED_Init
1165
__epilogue_restores__
1166
__prologue_saves__
1167
uart_putchar
1168
_printf_P