Blame | Last modification | View Log | RSS feed
1 .file "eeprom.c"
2 .arch atmega644p
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global RAM_Checksum
13 RAM_Checksum:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 4AEA ldi r20,lo8(-86)
17 0002 20E0 ldi r18,lo8(0)
18 0004 30E0 ldi r19,hi8(0)
19 0006 2617 cp r18,r22
20 0008 3707 cpc r19,r23
21 000a 40F4 brsh .L7
22 000c FC01 movw r30,r24
23 .L5:
24 000e 8191 ld r24,Z+
25 0010 480F add r20,r24
26 0012 2F5F subi r18,lo8(-(1))
27 0014 3F4F sbci r19,hi8(-(1))
28 0016 2617 cp r18,r22
29 0018 3707 cpc r19,r23
30 001a C8F3 brlo .L5
31 .L7:
32 001c 842F mov r24,r20
33 001e 9927 clr r25
34 /* epilogue: frame size=0 */
35 0020 0895 ret
36 /* epilogue end (size=1) */
37 /* function RAM_Checksum size 17 (16) */
39 .global EEProm_Checksum
41 EEProm_Checksum:
42 /* prologue: frame size=0 */
43 /* prologue end (size=0) */
44 0022 AC01 movw r20,r24
45 0024 9AEA ldi r25,lo8(-86)
46 0026 20E0 ldi r18,lo8(0)
47 0028 30E0 ldi r19,hi8(0)
48 .L16:
49 002a 2617 cp r18,r22
50 002c 3707 cpc r19,r23
51 002e 50F4 brsh .L15
52 0030 DA01 movw r26,r20
53 0032 A20F add r26,r18
54 0034 B31F adc r27,r19
55 /* #APP */
56 0036 0E94 0000 call __eeprom_read_byte_1F2021
57 003a 802D mov r24,__tmp_reg__
58 /* #NOAPP */
59 003c 980F add r25,r24
60 003e 2F5F subi r18,lo8(-(1))
61 0040 3F4F sbci r19,hi8(-(1))
62 0042 F3CF rjmp .L16
63 .L15:
64 0044 892F mov r24,r25
65 0046 9927 clr r25
66 /* epilogue: frame size=0 */
67 0048 0895 ret
68 /* epilogue end (size=1) */
69 /* function EEProm_Checksum size 21 (20) */
71 .global ParamSet_DefaultStickMapping
73 ParamSet_DefaultStickMapping:
74 /* prologue: frame size=0 */
75 /* prologue end (size=0) */
76 004a 81E0 ldi r24,lo8(1)
77 004c 8093 0000 sts EE_Parameter+3,r24
78 0050 82E0 ldi r24,lo8(2)
79 0052 8093 0000 sts EE_Parameter+2,r24
80 0056 83E0 ldi r24,lo8(3)
81 0058 8093 0000 sts EE_Parameter+1,r24
82 005c 84E0 ldi r24,lo8(4)
83 005e 8093 0000 sts EE_Parameter+4,r24
84 0062 85E0 ldi r24,lo8(5)
85 0064 8093 0000 sts EE_Parameter+5,r24
86 0068 86E0 ldi r24,lo8(6)
87 006a 8093 0000 sts EE_Parameter+6,r24
88 006e 87E0 ldi r24,lo8(7)
89 0070 8093 0000 sts EE_Parameter+7,r24
90 0074 88E0 ldi r24,lo8(8)
91 0076 8093 0000 sts EE_Parameter+8,r24
92 007a 89E0 ldi r24,lo8(9)
93 007c 8093 0000 sts EE_Parameter+9,r24
94 0080 8AE0 ldi r24,lo8(10)
95 0082 8093 0000 sts EE_Parameter+10,r24
96 0086 8BE0 ldi r24,lo8(11)
97 0088 8093 0000 sts EE_Parameter+11,r24
98 008c 8CE0 ldi r24,lo8(12)
99 008e 8093 0000 sts EE_Parameter+12,r24
100 /* epilogue: frame size=0 */
101 0092 0895 ret
102 /* epilogue end (size=1) */
103 /* function ParamSet_DefaultStickMapping size 37 (36) */
105 .data
106 .LC0:
107 0000 5370 6F72 .string "Sport"
107 7400
108 0006 00 .string ""
109 .text
110 .global ParamSet_DefaultSet1
112 ParamSet_DefaultSet1:
113 /* prologue: frame size=0 */
114 0094 1F93 push r17
115 0096 CF93 push r28
116 0098 DF93 push r29
117 /* prologue end (size=3) */
118 009a 84E5 ldi r24,lo8(84)
119 009c 8093 0000 sts EE_Parameter,r24
120 00a0 8091 0000 lds r24,PlatinenVersion
121 00a4 8431 cpi r24,lo8(20)
122 00a6 50F0 brlo .L19
123 00a8 8AE0 ldi r24,lo8(10)
124 00aa 8093 0000 sts EE_Parameter+32,r24
125 00ae 1092 0000 sts EE_Parameter+66,__zero_reg__
126 00b2 8BE1 ldi r24,lo8(27)
127 00b4 8093 0000 sts EE_Parameter+28,r24
128 00b8 8EE4 ldi r24,lo8(78)
129 00ba 0AC0 rjmp .L21
130 .L19:
131 00bc 83E0 ldi r24,lo8(3)
132 00be 8093 0000 sts EE_Parameter+32,r24
133 00c2 80E2 ldi r24,lo8(32)
134 00c4 8093 0000 sts EE_Parameter+66,r24
135 00c8 8EE1 ldi r24,lo8(30)
136 00ca 8093 0000 sts EE_Parameter+28,r24
137 00ce 85E5 ldi r24,lo8(85)
138 .L21:
139 00d0 8093 0000 sts EE_Parameter+63,r24
140 00d4 8093 0000 sts EE_Parameter+64,r24
141 00d8 8AE6 ldi r24,lo8(106)
142 00da 8093 0000 sts EE_Parameter+13,r24
143 00de 83E0 ldi r24,lo8(3)
144 00e0 8093 0000 sts EE_Parameter+99,r24
145 00e4 AEE1 ldi r26,lo8(30)
146 00e6 A093 0000 sts EE_Parameter+14,r26
147 00ea 8FEF ldi r24,lo8(-1)
148 00ec 8093 0000 sts EE_Parameter+16,r24
149 00f0 EFE0 ldi r30,lo8(15)
150 00f2 E093 0000 sts EE_Parameter+17,r30
151 00f6 A093 0000 sts EE_Parameter+15,r26
152 00fa 1092 0000 sts EE_Parameter+19,__zero_reg__
153 00fe F8E0 ldi r31,lo8(8)
154 0100 F093 0000 sts EE_Parameter+20,r31
155 0104 80E4 ldi r24,lo8(64)
156 0106 8093 0000 sts EE_Parameter+21,r24
157 010a 1092 0000 sts EE_Parameter+22,__zero_reg__
158 010e 84E1 ldi r24,lo8(20)
159 0110 8093 0000 sts EE_Parameter+18,r24
160 0114 8EE0 ldi r24,lo8(14)
161 0116 8093 0000 sts EE_Parameter+23,r24
162 011a B0E1 ldi r27,lo8(16)
163 011c B093 0000 sts EE_Parameter+24,r27
164 0120 1CE0 ldi r17,lo8(12)
165 0122 1093 0000 sts EE_Parameter+25,r17
166 0126 F093 0000 sts EE_Parameter+26,r31
167 012a 86EE ldi r24,lo8(-26)
168 012c 8093 0000 sts EE_Parameter+27,r24
169 0130 80E8 ldi r24,lo8(-128)
170 0132 8093 0000 sts EE_Parameter+29,r24
171 0136 50E5 ldi r21,lo8(80)
172 0138 5093 0000 sts EE_Parameter+30,r21
173 013c 86E9 ldi r24,lo8(-106)
174 013e 8093 0000 sts EE_Parameter+31,r24
175 0142 5093 0000 sts EE_Parameter+33,r21
176 0146 8093 0000 sts EE_Parameter+34,r24
177 014a 76E0 ldi r23,lo8(6)
178 014c 7093 0000 sts EE_Parameter+35,r23
179 0150 81E2 ldi r24,lo8(33)
180 0152 8093 0000 sts EE_Parameter+36,r24
181 0156 8DE2 ldi r24,lo8(45)
182 0158 8093 0000 sts EE_Parameter+37,r24
183 015c 9AE5 ldi r25,lo8(90)
184 015e 9093 0000 sts EE_Parameter+38,r25
185 0162 80E2 ldi r24,lo8(32)
186 0164 8093 0000 sts EE_Parameter+40,r24
187 0168 1092 0000 sts EE_Parameter+41,__zero_reg__
188 016c 1092 0000 sts EE_Parameter+42,__zero_reg__
189 0170 1092 0000 sts EE_Parameter+43,__zero_reg__
190 0174 1092 0000 sts EE_Parameter+44,__zero_reg__
191 0178 1092 0000 sts EE_Parameter+68,__zero_reg__
192 017c 1092 0000 sts EE_Parameter+69,__zero_reg__
193 0180 1092 0000 sts EE_Parameter+70,__zero_reg__
194 0184 1092 0000 sts EE_Parameter+71,__zero_reg__
195 0188 34E6 ldi r19,lo8(100)
196 018a 3093 0000 sts EE_Parameter+45,r19
197 018e 48E2 ldi r20,lo8(40)
198 0190 4093 0000 sts EE_Parameter+46,r20
199 0194 61E0 ldi r22,lo8(1)
200 0196 6093 0000 sts EE_Parameter+98,r22
201 019a 1092 0000 sts EE_Parameter+47,__zero_reg__
202 019e 27EF ldi r18,lo8(-9)
203 01a0 2093 0000 sts EE_Parameter+48,r18
204 01a4 7093 0000 sts EE_Parameter+53,r23
205 01a8 8DE7 ldi r24,lo8(125)
206 01aa 8093 0000 sts EE_Parameter+54,r24
207 01ae 8093 0000 sts EE_Parameter+55,r24
208 01b2 8093 0000 sts EE_Parameter+56,r24
209 01b6 3093 0000 sts EE_Parameter+49,r19
210 01ba 4093 0000 sts EE_Parameter+50,r20
211 01be 1092 0000 sts EE_Parameter+51,__zero_reg__
212 01c2 2093 0000 sts EE_Parameter+52,r18
213 01c6 82E3 ldi r24,lo8(50)
214 01c8 8093 0000 sts EE_Parameter+57,r24
215 01cc 9093 0000 sts EE_Parameter+58,r25
216 01d0 8093 0000 sts EE_Parameter+59,r24
217 01d4 1092 0000 sts EE_Parameter+97,__zero_reg__
218 01d8 9093 0000 sts EE_Parameter+60,r25
219 01dc 5093 0000 sts EE_Parameter+61,r21
220 01e0 6093 0000 sts EE_Parameter+62,r22
221 01e4 B093 0000 sts EE_Parameter+65,r27
222 01e8 3093 0000 sts EE_Parameter+67,r19
223 01ec 8FE5 ldi r24,lo8(95)
224 01ee 8093 0000 sts EE_Parameter+72,r24
225 01f2 83EF ldi r24,lo8(-13)
226 01f4 8093 0000 sts EE_Parameter+74,r24
227 01f8 8AEA ldi r24,lo8(-86)
228 01fa 8093 0000 sts EE_Parameter+76,r24
229 01fe 8093 0000 sts EE_Parameter+77,r24
230 0202 E093 0000 sts EE_Parameter+73,r30
231 0206 E093 0000 sts EE_Parameter+75,r30
232 020a 8EEF ldi r24,lo8(-2)
233 020c 8093 0000 sts EE_Parameter+78,r24
234 0210 3093 0000 sts EE_Parameter+79,r19
235 0214 9093 0000 sts EE_Parameter+80,r25
236 0218 9093 0000 sts EE_Parameter+81,r25
237 021c 9093 0000 sts EE_Parameter+82,r25
238 0220 8BE4 ldi r24,lo8(75)
239 0222 8093 0000 sts EE_Parameter+83,r24
240 0226 8093 0000 sts EE_Parameter+84,r24
241 022a 8093 0000 sts EE_Parameter+85,r24
242 022e 1092 0000 sts EE_Parameter+86,__zero_reg__
243 0232 7093 0000 sts EE_Parameter+87,r23
244 0236 F093 0000 sts EE_Parameter+88,r31
245 023a 9093 0000 sts EE_Parameter+89,r25
246 023e A093 0000 sts EE_Parameter+90,r26
247 0242 3093 0000 sts EE_Parameter+91,r19
248 0246 3093 0000 sts EE_Parameter+92,r19
249 024a 82E0 ldi r24,lo8(2)
250 024c 8093 0000 sts EE_Parameter+93,r24
251 0250 6093 0000 sts EE_Parameter+39,r22
252 0254 1092 0000 sts EE_Parameter+95,__zero_reg__
253 0258 1092 0000 sts EE_Parameter+96,__zero_reg__
254 025c A0E0 ldi r26,lo8(EE_Parameter+100)
255 025e B0E0 ldi r27,hi8(EE_Parameter+100)
256 0260 E0E0 ldi r30,lo8(.LC0)
257 0262 F0E0 ldi r31,hi8(.LC0)
258 0264 ED01 movw r28,r26
259 0266 0190 ld __tmp_reg__,Z+
260 0268 0992 st Y+,__tmp_reg__
261 026a 1A95 dec r17
262 026c E1F7 brne .-8
263 026e 60E7 ldi r22,lo8(112)
264 0270 70E0 ldi r23,hi8(112)
265 0272 CD01 movw r24,r26
266 0274 8456 subi r24,lo8(-(-100))
267 0276 9040 sbci r25,hi8(-(-100))
268 0278 0E94 0000 call RAM_Checksum
269 027c 8093 0000 sts EE_Parameter+112,r24
270 /* epilogue: frame size=0 */
271 0280 DF91 pop r29
272 0282 CF91 pop r28
273 0284 1F91 pop r17
274 0286 0895 ret
275 /* epilogue end (size=4) */
276 /* function ParamSet_DefaultSet1 size 250 (243) */
278 .data
279 .LC1:
280 0007 4E6F 726D .string "Normal"
280 616C 00
281 000e 00 .string ""
282 .text
283 .global ParamSet_DefaultSet2
285 ParamSet_DefaultSet2:
286 /* prologue: frame size=0 */
287 0288 CF93 push r28
288 028a DF93 push r29
289 /* prologue end (size=2) */
290 028c 84E5 ldi r24,lo8(84)
291 028e 8093 0000 sts EE_Parameter,r24
292 0292 8091 0000 lds r24,PlatinenVersion
293 0296 8431 cpi r24,lo8(20)
294 0298 50F0 brlo .L23
295 029a 8AE0 ldi r24,lo8(10)
296 029c 8093 0000 sts EE_Parameter+32,r24
297 02a0 1092 0000 sts EE_Parameter+66,__zero_reg__
298 02a4 8BE1 ldi r24,lo8(27)
299 02a6 8093 0000 sts EE_Parameter+28,r24
300 02aa 8EE4 ldi r24,lo8(78)
301 02ac 0AC0 rjmp .L25
302 .L23:
303 02ae 83E0 ldi r24,lo8(3)
304 02b0 8093 0000 sts EE_Parameter+32,r24
305 02b4 80E2 ldi r24,lo8(32)
306 02b6 8093 0000 sts EE_Parameter+66,r24
307 02ba 8EE1 ldi r24,lo8(30)
308 02bc 8093 0000 sts EE_Parameter+28,r24
309 02c0 85E5 ldi r24,lo8(85)
310 .L25:
311 02c2 8093 0000 sts EE_Parameter+63,r24
312 02c6 8093 0000 sts EE_Parameter+64,r24
313 02ca 8AE6 ldi r24,lo8(106)
314 02cc 8093 0000 sts EE_Parameter+13,r24
315 02d0 83E0 ldi r24,lo8(3)
316 02d2 8093 0000 sts EE_Parameter+99,r24
317 02d6 7EE1 ldi r23,lo8(30)
318 02d8 7093 0000 sts EE_Parameter+14,r23
319 02dc 8FEF ldi r24,lo8(-1)
320 02de 8093 0000 sts EE_Parameter+16,r24
321 02e2 9FE0 ldi r25,lo8(15)
322 02e4 9093 0000 sts EE_Parameter+17,r25
323 02e8 7093 0000 sts EE_Parameter+15,r23
324 02ec 1092 0000 sts EE_Parameter+19,__zero_reg__
325 02f0 68E0 ldi r22,lo8(8)
326 02f2 6093 0000 sts EE_Parameter+20,r22
327 02f6 80E4 ldi r24,lo8(64)
328 02f8 8093 0000 sts EE_Parameter+21,r24
329 02fc 1092 0000 sts EE_Parameter+22,__zero_reg__
330 0300 9093 0000 sts EE_Parameter+18,r25
331 0304 8AE0 ldi r24,lo8(10)
332 0306 8093 0000 sts EE_Parameter+23,r24
333 030a 80E1 ldi r24,lo8(16)
334 030c 8093 0000 sts EE_Parameter+24,r24
335 0310 56E0 ldi r21,lo8(6)
336 0312 5093 0000 sts EE_Parameter+25,r21
337 0316 6093 0000 sts EE_Parameter+26,r22
338 031a 86EE ldi r24,lo8(-26)
339 031c 8093 0000 sts EE_Parameter+27,r24
340 0320 80E8 ldi r24,lo8(-128)
341 0322 8093 0000 sts EE_Parameter+29,r24
342 0326 2AE5 ldi r18,lo8(90)
343 0328 2093 0000 sts EE_Parameter+30,r18
344 032c 88E7 ldi r24,lo8(120)
345 032e 8093 0000 sts EE_Parameter+31,r24
346 0332 2093 0000 sts EE_Parameter+33,r18
347 0336 8093 0000 sts EE_Parameter+34,r24
348 033a 5093 0000 sts EE_Parameter+35,r21
349 033e 81E2 ldi r24,lo8(33)
350 0340 8093 0000 sts EE_Parameter+36,r24
351 0344 8DE2 ldi r24,lo8(45)
352 0346 8093 0000 sts EE_Parameter+37,r24
353 034a 2093 0000 sts EE_Parameter+38,r18
354 034e E0E2 ldi r30,lo8(32)
355 0350 E093 0000 sts EE_Parameter+40,r30
356 0354 1092 0000 sts EE_Parameter+41,__zero_reg__
357 0358 1092 0000 sts EE_Parameter+42,__zero_reg__
358 035c 1092 0000 sts EE_Parameter+43,__zero_reg__
359 0360 1092 0000 sts EE_Parameter+44,__zero_reg__
360 0364 1092 0000 sts EE_Parameter+68,__zero_reg__
361 0368 1092 0000 sts EE_Parameter+69,__zero_reg__
362 036c 1092 0000 sts EE_Parameter+70,__zero_reg__
363 0370 1092 0000 sts EE_Parameter+71,__zero_reg__
364 0374 44E6 ldi r20,lo8(100)
365 0376 4093 0000 sts EE_Parameter+45,r20
366 037a 38E2 ldi r19,lo8(40)
367 037c 3093 0000 sts EE_Parameter+46,r19
368 0380 F1E0 ldi r31,lo8(1)
369 0382 F093 0000 sts EE_Parameter+98,r31
370 0386 1092 0000 sts EE_Parameter+47,__zero_reg__
371 038a 97EF ldi r25,lo8(-9)
372 038c 9093 0000 sts EE_Parameter+48,r25
373 0390 5093 0000 sts EE_Parameter+53,r21
374 0394 8DE7 ldi r24,lo8(125)
375 0396 8093 0000 sts EE_Parameter+54,r24
376 039a 8093 0000 sts EE_Parameter+55,r24
377 039e 8093 0000 sts EE_Parameter+56,r24
378 03a2 4093 0000 sts EE_Parameter+49,r20
379 03a6 3093 0000 sts EE_Parameter+50,r19
380 03aa 1092 0000 sts EE_Parameter+51,__zero_reg__
381 03ae 9093 0000 sts EE_Parameter+52,r25
382 03b2 82E3 ldi r24,lo8(50)
383 03b4 8093 0000 sts EE_Parameter+57,r24
384 03b8 2093 0000 sts EE_Parameter+58,r18
385 03bc 8093 0000 sts EE_Parameter+59,r24
386 03c0 1092 0000 sts EE_Parameter+97,__zero_reg__
387 03c4 2093 0000 sts EE_Parameter+60,r18
388 03c8 80E5 ldi r24,lo8(80)
389 03ca 8093 0000 sts EE_Parameter+61,r24
390 03ce 8CE3 ldi r24,lo8(60)
391 03d0 8093 0000 sts EE_Parameter+62,r24
392 03d4 E093 0000 sts EE_Parameter+65,r30
393 03d8 9BE4 ldi r25,lo8(75)
394 03da 9093 0000 sts EE_Parameter+67,r25
395 03de 8FE5 ldi r24,lo8(95)
396 03e0 8093 0000 sts EE_Parameter+72,r24
397 03e4 83EF ldi r24,lo8(-13)
398 03e6 8093 0000 sts EE_Parameter+74,r24
399 03ea 8AEA ldi r24,lo8(-86)
400 03ec 8093 0000 sts EE_Parameter+76,r24
401 03f0 8093 0000 sts EE_Parameter+77,r24
402 03f4 84E1 ldi r24,lo8(20)
403 03f6 8093 0000 sts EE_Parameter+73,r24
404 03fa 8093 0000 sts EE_Parameter+75,r24
405 03fe 8EEF ldi r24,lo8(-2)
406 0400 8093 0000 sts EE_Parameter+78,r24
407 0404 4093 0000 sts EE_Parameter+79,r20
408 0408 2093 0000 sts EE_Parameter+80,r18
409 040c 2093 0000 sts EE_Parameter+81,r18
410 0410 2093 0000 sts EE_Parameter+82,r18
411 0414 9093 0000 sts EE_Parameter+83,r25
412 0418 9093 0000 sts EE_Parameter+84,r25
413 041c 9093 0000 sts EE_Parameter+85,r25
414 0420 1092 0000 sts EE_Parameter+86,__zero_reg__
415 0424 5093 0000 sts EE_Parameter+87,r21
416 0428 6093 0000 sts EE_Parameter+88,r22
417 042c 2093 0000 sts EE_Parameter+89,r18
418 0430 7093 0000 sts EE_Parameter+90,r23
419 0434 4093 0000 sts EE_Parameter+91,r20
420 0438 4093 0000 sts EE_Parameter+92,r20
421 043c 82E0 ldi r24,lo8(2)
422 043e 8093 0000 sts EE_Parameter+93,r24
423 0442 F093 0000 sts EE_Parameter+39,r31
424 0446 1092 0000 sts EE_Parameter+95,__zero_reg__
425 044a 1092 0000 sts EE_Parameter+96,__zero_reg__
426 044e A0E0 ldi r26,lo8(EE_Parameter+100)
427 0450 B0E0 ldi r27,hi8(EE_Parameter+100)
428 0452 8CE0 ldi r24,lo8(12)
429 0454 E0E0 ldi r30,lo8(.LC1)
430 0456 F0E0 ldi r31,hi8(.LC1)
431 0458 ED01 movw r28,r26
432 045a 0190 ld __tmp_reg__,Z+
433 045c 0992 st Y+,__tmp_reg__
434 045e 8A95 dec r24
435 0460 E1F7 brne .-8
436 0462 60E7 ldi r22,lo8(112)
437 0464 70E0 ldi r23,hi8(112)
438 0466 CD01 movw r24,r26
439 0468 8456 subi r24,lo8(-(-100))
440 046a 9040 sbci r25,hi8(-(-100))
441 046c 0E94 0000 call RAM_Checksum
442 0470 8093 0000 sts EE_Parameter+112,r24
443 /* epilogue: frame size=0 */
444 0474 DF91 pop r29
445 0476 CF91 pop r28
446 0478 0895 ret
447 /* epilogue end (size=3) */
448 /* function ParamSet_DefaultSet2 size 249 (244) */
450 .data
451 .LC2:
452 000f 4265 6769 .string "Beginner"
452 6E6E 6572
452 00
453 0018 00 .string ""
454 .text
455 .global ParamSet_DefaultSet3
457 ParamSet_DefaultSet3:
458 /* prologue: frame size=0 */
459 047a CF93 push r28
460 047c DF93 push r29
461 /* prologue end (size=2) */
462 047e 84E5 ldi r24,lo8(84)
463 0480 8093 0000 sts EE_Parameter,r24
464 0484 8091 0000 lds r24,PlatinenVersion
465 0488 8431 cpi r24,lo8(20)
466 048a 50F0 brlo .L27
467 048c 8AE0 ldi r24,lo8(10)
468 048e 8093 0000 sts EE_Parameter+32,r24
469 0492 1092 0000 sts EE_Parameter+66,__zero_reg__
470 0496 8BE1 ldi r24,lo8(27)
471 0498 8093 0000 sts EE_Parameter+28,r24
472 049c 8EE4 ldi r24,lo8(78)
473 049e 0AC0 rjmp .L29
474 .L27:
475 04a0 83E0 ldi r24,lo8(3)
476 04a2 8093 0000 sts EE_Parameter+32,r24
477 04a6 80E2 ldi r24,lo8(32)
478 04a8 8093 0000 sts EE_Parameter+66,r24
479 04ac 8EE1 ldi r24,lo8(30)
480 04ae 8093 0000 sts EE_Parameter+28,r24
481 04b2 85E5 ldi r24,lo8(85)
482 .L29:
483 04b4 8093 0000 sts EE_Parameter+63,r24
484 04b8 8093 0000 sts EE_Parameter+64,r24
485 04bc 8AE6 ldi r24,lo8(106)
486 04be 8093 0000 sts EE_Parameter+13,r24
487 04c2 83E0 ldi r24,lo8(3)
488 04c4 8093 0000 sts EE_Parameter+99,r24
489 04c8 6EE1 ldi r22,lo8(30)
490 04ca 6093 0000 sts EE_Parameter+14,r22
491 04ce 8FEF ldi r24,lo8(-1)
492 04d0 8093 0000 sts EE_Parameter+16,r24
493 04d4 9FE0 ldi r25,lo8(15)
494 04d6 9093 0000 sts EE_Parameter+17,r25
495 04da 6093 0000 sts EE_Parameter+15,r22
496 04de 1092 0000 sts EE_Parameter+19,__zero_reg__
497 04e2 78E0 ldi r23,lo8(8)
498 04e4 7093 0000 sts EE_Parameter+20,r23
499 04e8 80E4 ldi r24,lo8(64)
500 04ea 8093 0000 sts EE_Parameter+21,r24
501 04ee 1092 0000 sts EE_Parameter+22,__zero_reg__
502 04f2 9093 0000 sts EE_Parameter+18,r25
503 04f6 7093 0000 sts EE_Parameter+23,r23
504 04fa 90E1 ldi r25,lo8(16)
505 04fc 9093 0000 sts EE_Parameter+24,r25
506 0500 56E0 ldi r21,lo8(6)
507 0502 5093 0000 sts EE_Parameter+25,r21
508 0506 7093 0000 sts EE_Parameter+26,r23
509 050a 86EE ldi r24,lo8(-26)
510 050c 8093 0000 sts EE_Parameter+27,r24
511 0510 80E8 ldi r24,lo8(-128)
512 0512 8093 0000 sts EE_Parameter+29,r24
513 0516 34E6 ldi r19,lo8(100)
514 0518 3093 0000 sts EE_Parameter+30,r19
515 051c 88E7 ldi r24,lo8(120)
516 051e 8093 0000 sts EE_Parameter+31,r24
517 0522 3093 0000 sts EE_Parameter+33,r19
518 0526 8093 0000 sts EE_Parameter+34,r24
519 052a 5093 0000 sts EE_Parameter+35,r21
520 052e 81E2 ldi r24,lo8(33)
521 0530 8093 0000 sts EE_Parameter+36,r24
522 0534 8DE2 ldi r24,lo8(45)
523 0536 8093 0000 sts EE_Parameter+37,r24
524 053a 2AE5 ldi r18,lo8(90)
525 053c 2093 0000 sts EE_Parameter+38,r18
526 0540 9093 0000 sts EE_Parameter+40,r25
527 0544 1092 0000 sts EE_Parameter+41,__zero_reg__
528 0548 1092 0000 sts EE_Parameter+42,__zero_reg__
529 054c 1092 0000 sts EE_Parameter+43,__zero_reg__
530 0550 1092 0000 sts EE_Parameter+44,__zero_reg__
531 0554 1092 0000 sts EE_Parameter+68,__zero_reg__
532 0558 1092 0000 sts EE_Parameter+69,__zero_reg__
533 055c 1092 0000 sts EE_Parameter+70,__zero_reg__
534 0560 1092 0000 sts EE_Parameter+71,__zero_reg__
535 0564 3093 0000 sts EE_Parameter+45,r19
536 0568 48E2 ldi r20,lo8(40)
537 056a 4093 0000 sts EE_Parameter+46,r20
538 056e E1E0 ldi r30,lo8(1)
539 0570 E093 0000 sts EE_Parameter+98,r30
540 0574 1092 0000 sts EE_Parameter+47,__zero_reg__
541 0578 97EF ldi r25,lo8(-9)
542 057a 9093 0000 sts EE_Parameter+48,r25
543 057e 5093 0000 sts EE_Parameter+53,r21
544 0582 8DE7 ldi r24,lo8(125)
545 0584 8093 0000 sts EE_Parameter+54,r24
546 0588 8093 0000 sts EE_Parameter+55,r24
547 058c 8093 0000 sts EE_Parameter+56,r24
548 0590 3093 0000 sts EE_Parameter+49,r19
549 0594 4093 0000 sts EE_Parameter+50,r20
550 0598 1092 0000 sts EE_Parameter+51,__zero_reg__
551 059c 9093 0000 sts EE_Parameter+52,r25
552 05a0 82E3 ldi r24,lo8(50)
553 05a2 8093 0000 sts EE_Parameter+57,r24
554 05a6 2093 0000 sts EE_Parameter+58,r18
555 05aa 8093 0000 sts EE_Parameter+59,r24
556 05ae 1092 0000 sts EE_Parameter+97,__zero_reg__
557 05b2 2093 0000 sts EE_Parameter+60,r18
558 05b6 80E5 ldi r24,lo8(80)
559 05b8 8093 0000 sts EE_Parameter+61,r24
560 05bc 96E4 ldi r25,lo8(70)
561 05be 9093 0000 sts EE_Parameter+62,r25
562 05c2 80E2 ldi r24,lo8(32)
563 05c4 8093 0000 sts EE_Parameter+65,r24
564 05c8 9093 0000 sts EE_Parameter+67,r25
565 05cc 8FE5 ldi r24,lo8(95)
566 05ce 8093 0000 sts EE_Parameter+72,r24
567 05d2 83EF ldi r24,lo8(-13)
568 05d4 8093 0000 sts EE_Parameter+74,r24
569 05d8 8AEA ldi r24,lo8(-86)
570 05da 8093 0000 sts EE_Parameter+76,r24
571 05de 8093 0000 sts EE_Parameter+77,r24
572 05e2 6093 0000 sts EE_Parameter+73,r22
573 05e6 6093 0000 sts EE_Parameter+75,r22
574 05ea 8EEF ldi r24,lo8(-2)
575 05ec 8093 0000 sts EE_Parameter+78,r24
576 05f0 3093 0000 sts EE_Parameter+79,r19
577 05f4 2093 0000 sts EE_Parameter+80,r18
578 05f8 2093 0000 sts EE_Parameter+81,r18
579 05fc 2093 0000 sts EE_Parameter+82,r18
580 0600 8BE4 ldi r24,lo8(75)
581 0602 8093 0000 sts EE_Parameter+83,r24
582 0606 8093 0000 sts EE_Parameter+84,r24
583 060a 8093 0000 sts EE_Parameter+85,r24
584 060e 1092 0000 sts EE_Parameter+86,__zero_reg__
585 0612 5093 0000 sts EE_Parameter+87,r21
586 0616 7093 0000 sts EE_Parameter+88,r23
587 061a 2093 0000 sts EE_Parameter+89,r18
588 061e 6093 0000 sts EE_Parameter+90,r22
589 0622 3093 0000 sts EE_Parameter+91,r19
590 0626 3093 0000 sts EE_Parameter+92,r19
591 062a 82E0 ldi r24,lo8(2)
592 062c 8093 0000 sts EE_Parameter+93,r24
593 0630 E093 0000 sts EE_Parameter+39,r30
594 0634 1092 0000 sts EE_Parameter+95,__zero_reg__
595 0638 1092 0000 sts EE_Parameter+96,__zero_reg__
596 063c A0E0 ldi r26,lo8(EE_Parameter+100)
597 063e B0E0 ldi r27,hi8(EE_Parameter+100)
598 0640 8CE0 ldi r24,lo8(12)
599 0642 E0E0 ldi r30,lo8(.LC2)
600 0644 F0E0 ldi r31,hi8(.LC2)
601 0646 ED01 movw r28,r26
602 0648 0190 ld __tmp_reg__,Z+
603 064a 0992 st Y+,__tmp_reg__
604 064c 8A95 dec r24
605 064e E1F7 brne .-8
606 0650 60E7 ldi r22,lo8(112)
607 0652 70E0 ldi r23,hi8(112)
608 0654 CD01 movw r24,r26
609 0656 8456 subi r24,lo8(-(-100))
610 0658 9040 sbci r25,hi8(-(-100))
611 065a 0E94 0000 call RAM_Checksum
612 065e 8093 0000 sts EE_Parameter+112,r24
613 /* epilogue: frame size=0 */
614 0662 DF91 pop r29
615 0664 CF91 pop r28
616 0666 0895 ret
617 /* epilogue end (size=3) */
618 /* function ParamSet_DefaultSet3 size 247 (242) */
620 .global GetParamByte
622 GetParamByte:
623 /* prologue: frame size=0 */
624 /* prologue end (size=0) */
625 0668 DC01 movw r26,r24
626 /* #APP */
627 066a 0E94 0000 call __eeprom_read_byte_1F2021
628 066e 802D mov r24,__tmp_reg__
629 /* #NOAPP */
630 0670 9927 clr r25
631 /* epilogue: frame size=0 */
632 0672 0895 ret
633 /* epilogue end (size=1) */
634 /* function GetParamByte size 7 (6) */
636 .global SetParamByte
638 SetParamByte:
639 /* prologue: frame size=0 */
640 /* prologue end (size=0) */
641 0674 DC01 movw r26,r24
642 /* #APP */
643 0676 062E mov __tmp_reg__,r22
644 0678 0E94 0000 call __eeprom_write_byte_1F2021
645 /* #NOAPP */
646 /* epilogue: frame size=0 */
647 067c 0895 ret
648 /* epilogue end (size=1) */
649 /* function SetParamByte size 6 (5) */
651 .global GetParamWord
653 GetParamWord:
654 /* prologue: frame size=0 */
655 /* prologue end (size=0) */
656 067e DC01 movw r26,r24
657 /* #APP */
658 0680 0E94 0000 call __eeprom_read_word_1F2021
659
660 /* #NOAPP */
661 0684 CF01 movw r24,r30
662 /* epilogue: frame size=0 */
663 0686 0895 ret
664 /* epilogue end (size=1) */
665 /* function GetParamWord size 7 (6) */
667 .global SetParamWord
669 SetParamWord:
670 /* prologue: frame size=0 */
671 /* prologue end (size=0) */
672 0688 DC01 movw r26,r24
673 /* #APP */
674 068a 0B01 movw __tmp_reg__,r22
675 068c 0E94 0000 call __eeprom_write_word_1F2021
676
677 /* #NOAPP */
678 /* epilogue: frame size=0 */
679 0690 0895 ret
680 /* epilogue end (size=1) */
681 /* function SetParamWord size 8 (7) */
683 .global ParamSet_ReadFromEEProm
685 ParamSet_ReadFromEEProm:
686 /* prologue: frame size=0 */
687 0692 FF92 push r15
688 0694 0F93 push r16
689 0696 1F93 push r17
690 0698 CF93 push r28
691 069a DF93 push r29
692 /* prologue end (size=5) */
693 069c 982F mov r25,r24
694 069e 8150 subi r24,lo8(-(-1))
695 06a0 8530 cpi r24,lo8(5)
696 06a2 08F0 brlo .L39
697 06a4 93E0 ldi r25,lo8(3)
698 .L39:
699 06a6 81E7 ldi r24,lo8(113)
700 06a8 F82E mov r15,r24
701 06aa 9F9D mul r25,r15
702 06ac 8001 movw r16,r0
703 06ae 1124 clr r1
704 06b0 E801 movw r28,r16
705 06b2 2D97 sbiw r28,13
706 06b4 60E7 ldi r22,lo8(112)
707 06b6 70E0 ldi r23,hi8(112)
708 06b8 CE01 movw r24,r28
709 06ba 0E94 0000 call EEProm_Checksum
710 06be 982F mov r25,r24
711 06c0 D801 movw r26,r16
712 06c2 AD59 subi r26,lo8(-(99))
713 06c4 BF4F sbci r27,hi8(-(99))
714 /* #APP */
715 06c6 0E94 0000 call __eeprom_read_byte_1F2021
716 06ca 802D mov r24,__tmp_reg__
717 /* #NOAPP */
718 06cc 8917 cp r24,r25
719 06ce 31F4 brne .L51
720 06d0 DE01 movw r26,r28
721 /* #APP */
722 06d2 0E94 0000 call __eeprom_read_byte_1F2021
723 06d6 802D mov r24,__tmp_reg__
724 /* #NOAPP */
725 06d8 8435 cpi r24,lo8(84)
726 06da 19F0 breq .L42
727 .L51:
728 06dc 80E0 ldi r24,lo8(0)
729 06de 90E0 ldi r25,hi8(0)
730 06e0 0AC0 rjmp .L38
731 .L42:
732 06e2 E0E0 ldi r30,lo8(EE_Parameter)
733 06e4 F0E0 ldi r31,hi8(EE_Parameter)
734 06e6 DE01 movw r26,r28
735 /* #APP */
736 06e8 1F2C mov __zero_reg__,r15
737 06ea 0E94 0000 call __eeprom_read_block_1F2021
738 /* #NOAPP */
739 06ee 0E94 0000 call LED_Init
740 06f2 81E0 ldi r24,lo8(1)
741 06f4 90E0 ldi r25,hi8(1)
742 .L38:
743 /* epilogue: frame size=0 */
744 06f6 E5E0 ldi r30,5
745 06f8 CDB7 in r28,__SP_L__
746 06fa DEB7 in r29,__SP_H__
747 06fc 0C94 0000 jmp __epilogue_restores__+26
748 /* epilogue end (size=5) */
749 /* function ParamSet_ReadFromEEProm size 58 (48) */
751 .global SetActiveParamSet
753 SetActiveParamSet:
754 /* prologue: frame size=0 */
755 /* prologue end (size=0) */
756 0700 8630 cpi r24,lo8(6)
757 0702 10F0 brlo .L53
758 0704 85E0 ldi r24,lo8(5)
759 0706 03C0 rjmp .L54
760 .L53:
761 0708 8823 tst r24
762 070a 09F4 brne .L54
763 070c 81E0 ldi r24,lo8(1)
764 .L54:
765 070e A2E0 ldi r26,lo8(2)
766 0710 B0E0 ldi r27,hi8(2)
767 /* #APP */
768 0712 082E mov __tmp_reg__,r24
769 0714 0E94 0000 call __eeprom_write_byte_1F2021
770 /* #NOAPP */
771 /* epilogue: frame size=0 */
772 0718 0895 ret
773 /* epilogue end (size=1) */
774 /* function SetActiveParamSet size 14 (13) */
776 .global ParamSet_WriteToEEProm
778 ParamSet_WriteToEEProm:
779 /* prologue: frame size=0 */
780 071a 1F93 push r17
781 071c CF93 push r28
782 071e DF93 push r29
783 /* prologue end (size=3) */
784 0720 182F mov r17,r24
785 0722 C0E0 ldi r28,lo8(EE_Parameter)
786 0724 D0E0 ldi r29,hi8(EE_Parameter)
787 0726 8091 0000 lds r24,EE_Parameter
788 072a 8435 cpi r24,lo8(84)
789 072c 91F5 brne .L57
790 072e 1630 cpi r17,lo8(6)
791 0730 10F0 brlo .L58
792 0732 15E0 ldi r17,lo8(5)
793 0734 02C0 rjmp .L59
794 .L58:
795 0736 1123 tst r17
796 0738 61F1 breq .L57
797 .L59:
798 073a 60E7 ldi r22,lo8(112)
799 073c 70E0 ldi r23,hi8(112)
800 073e 80E0 ldi r24,lo8(EE_Parameter)
801 0740 90E0 ldi r25,hi8(EE_Parameter)
802 0742 0E94 0000 call RAM_Checksum
803 0746 8093 0000 sts EE_Parameter+112,r24
804 074a 81E7 ldi r24,lo8(113)
805 074c 189F mul r17,r24
806 074e D001 movw r26,r0
807 0750 1124 clr r1
808 0752 1D97 sbiw r26,13
809 0754 FE01 movw r30,r28
810 /* #APP */
811 0756 182E mov __zero_reg__,r24
812 0758 0E94 0000 call __eeprom_write_block_1F2021
813 /* #NOAPP */
814 075c E0E0 ldi r30,lo8(EE_Parameter+1)
815 075e F0E0 ldi r31,hi8(EE_Parameter+1)
816 0760 A0E5 ldi r26,lo8(80)
817 0762 B0E0 ldi r27,hi8(80)
818 0764 2CE0 ldi r18,lo8(12)
819 0766 30E0 ldi r19,hi8(12)
820 /* #APP */
821 0768 122E mov __zero_reg__,r18
822 076a 0E94 0000 call __eeprom_write_block_1F2021
823 /* #NOAPP */
824 076e B901 movw r22,r18
825 0770 80E0 ldi r24,lo8(EE_Parameter+1)
826 0772 90E0 ldi r25,hi8(EE_Parameter+1)
827 0774 0E94 0000 call RAM_Checksum
828 0778 ACE5 ldi r26,lo8(92)
829 077a B0E0 ldi r27,hi8(92)
830 /* #APP */
831 077c 082E mov __tmp_reg__,r24
832 077e 0E94 0000 call __eeprom_write_byte_1F2021
833 /* #NOAPP */
834 0782 812F mov r24,r17
835 0784 0E94 0000 call SetActiveParamSet
836 0788 0E94 0000 call LED_Init
837 078c 81E0 ldi r24,lo8(1)
838 078e 90E0 ldi r25,hi8(1)
839 0790 02C0 rjmp .L56
840 .L57:
841 0792 80E0 ldi r24,lo8(0)
842 0794 90E0 ldi r25,hi8(0)
843 .L56:
844 /* epilogue: frame size=0 */
845 0796 DF91 pop r29
846 0798 CF91 pop r28
847 079a 1F91 pop r17
848 079c 0895 ret
849 /* epilogue end (size=4) */
850 /* function ParamSet_WriteToEEProm size 69 (62) */
852 .global MixerTable_ReadFromEEProm
854 MixerTable_ReadFromEEProm:
855 /* prologue: frame size=0 */
856 /* prologue end (size=0) */
857 079e 6DE4 ldi r22,lo8(77)
858 07a0 70E0 ldi r23,hi8(77)
859 07a2 88EE ldi r24,lo8(1000)
860 07a4 93E0 ldi r25,hi8(1000)
861 07a6 0E94 0000 call EEProm_Checksum
862 07aa A5E3 ldi r26,lo8(1077)
863 07ac B4E0 ldi r27,hi8(1077)
864 /* #APP */
865 07ae 0E94 0000 call __eeprom_read_byte_1F2021
866 07b2 902D mov r25,__tmp_reg__
867 /* #NOAPP */
868 07b4 9817 cp r25,r24
869 07b6 39F4 brne .L87
870 07b8 A8EE ldi r26,lo8(1000)
871 07ba B3E0 ldi r27,hi8(1000)
872 /* #APP */
873 07bc 0E94 0000 call __eeprom_read_byte_1F2021
874 07c0 802D mov r24,__tmp_reg__
875 /* #NOAPP */
876 07c2 8130 cpi r24,lo8(1)
877 07c4 19F0 breq .L78
878 .L87:
879 07c6 80E0 ldi r24,lo8(0)
880 07c8 90E0 ldi r25,hi8(0)
881 07ca 0895 ret
882 .L78:
883 07cc E0E0 ldi r30,lo8(Mixer)
884 07ce F0E0 ldi r31,hi8(Mixer)
885 07d0 A8EE ldi r26,lo8(1000)
886 07d2 B3E0 ldi r27,hi8(1000)
887 07d4 8EE4 ldi r24,lo8(78)
888 /* #APP */
889 07d6 182E mov __zero_reg__,r24
890 07d8 0E94 0000 call __eeprom_read_block_1F2021
891 /* #NOAPP */
892 07dc 81E0 ldi r24,lo8(1)
893 07de 90E0 ldi r25,hi8(1)
894 07e0 0895 ret
895 /* epilogue: frame size=0 */
896 /* epilogue: noreturn */
897 /* epilogue end (size=0) */
898 /* function MixerTable_ReadFromEEProm size 37 (37) */
900 .global MixerTable_WriteToEEProm
902 MixerTable_WriteToEEProm:
903 /* prologue: frame size=0 */
904 07e2 CF93 push r28
905 07e4 DF93 push r29
906 /* prologue end (size=2) */
907 07e6 C0E0 ldi r28,lo8(Mixer)
908 07e8 D0E0 ldi r29,hi8(Mixer)
909 07ea 8091 0000 lds r24,Mixer
910 07ee 8130 cpi r24,lo8(1)
911 07f0 89F4 brne .L89
912 07f2 6DE4 ldi r22,lo8(77)
913 07f4 70E0 ldi r23,hi8(77)
914 07f6 CE01 movw r24,r28
915 07f8 0E94 0000 call RAM_Checksum
916 07fc 8093 0000 sts Mixer+77,r24
917 0800 A8EE ldi r26,lo8(1000)
918 0802 B3E0 ldi r27,hi8(1000)
919 0804 8EE4 ldi r24,lo8(78)
920 0806 FE01 movw r30,r28
921 /* #APP */
922 0808 182E mov __zero_reg__,r24
923 080a 0E94 0000 call __eeprom_write_block_1F2021
924 /* #NOAPP */
925 080e 81E0 ldi r24,lo8(1)
926 0810 90E0 ldi r25,hi8(1)
927 0812 02C0 rjmp .L88
928 .L89:
929 0814 80E0 ldi r24,lo8(0)
930 0816 90E0 ldi r25,hi8(0)
931 .L88:
932 /* epilogue: frame size=0 */
933 0818 DF91 pop r29
934 081a CF91 pop r28
935 081c 0895 ret
936 /* epilogue end (size=3) */
937 /* function MixerTable_WriteToEEProm size 31 (26) */
939 .data
940 .LC3:
941 0019 5175 6164 .string "Quadro"
941 726F 00
942 0020 00 .string ""
943 .text
944 .global MixerTable_Default
946 MixerTable_Default:
947 /* prologue: frame size=0 */
948 081e CF93 push r28
949 0820 DF93 push r29
950 /* prologue end (size=2) */
951 0822 81E0 ldi r24,lo8(1)
952 0824 8093 0000 sts Mixer,r24
953 0828 E0E0 ldi r30,lo8(Mixer)
954 082a F0E0 ldi r31,hi8(Mixer)
955 082c 8FE0 ldi r24,lo8(15)
956 .L102:
957 082e 1586 std Z+13,__zero_reg__
958 0830 1686 std Z+14,__zero_reg__
959 0832 1786 std Z+15,__zero_reg__
960 0834 108A std Z+16,__zero_reg__
961 0836 8150 subi r24,lo8(-(-1))
962 0838 3496 adiw r30,4
963 083a 87FF sbrs r24,7
964 083c F8CF rjmp .L102
965 083e 80E4 ldi r24,lo8(64)
966 0840 8093 0000 sts Mixer+13,r24
967 0844 8093 0000 sts Mixer+14,r24
968 0848 1092 0000 sts Mixer+15,__zero_reg__
969 084c 8093 0000 sts Mixer+16,r24
970 0850 8093 0000 sts Mixer+17,r24
971 0854 90EC ldi r25,lo8(-64)
972 0856 9093 0000 sts Mixer+18,r25
973 085a 1092 0000 sts Mixer+19,__zero_reg__
974 085e 8093 0000 sts Mixer+20,r24
975 0862 8093 0000 sts Mixer+21,r24
976 0866 1092 0000 sts Mixer+22,__zero_reg__
977 086a 9093 0000 sts Mixer+23,r25
978 086e 9093 0000 sts Mixer+24,r25
979 0872 8093 0000 sts Mixer+25,r24
980 0876 1092 0000 sts Mixer+26,__zero_reg__
981 087a 8093 0000 sts Mixer+27,r24
982 087e 9093 0000 sts Mixer+28,r25
983 0882 A0E0 ldi r26,lo8(Mixer+1)
984 0884 B0E0 ldi r27,hi8(Mixer+1)
985 0886 87E0 ldi r24,lo8(7)
986 0888 E0E0 ldi r30,lo8(.LC3)
987 088a F0E0 ldi r31,hi8(.LC3)
988 088c ED01 movw r28,r26
989 088e 0190 ld __tmp_reg__,Z+
990 0890 0992 st Y+,__tmp_reg__
991 0892 8A95 dec r24
992 0894 E1F7 brne .-8
993 0896 6DE4 ldi r22,lo8(77)
994 0898 70E0 ldi r23,hi8(77)
995 089a CD01 movw r24,r26
996 089c 0197 sbiw r24,1
997 089e 0E94 0000 call RAM_Checksum
998 08a2 8093 0000 sts Mixer+77,r24
999 /* epilogue: frame size=0 */
1000 08a6 DF91 pop r29
1001 08a8 CF91 pop r28
1002 08aa 0895 ret
1003 /* epilogue end (size=3) */
1004 /* function MixerTable_Default size 71 (66) */
1006 .global GetActiveParamSet
1008 GetActiveParamSet:
1009 /* prologue: frame size=0 */
1010 /* prologue end (size=0) */
1011 08ac A2E0 ldi r26,lo8(2)
1012 08ae B0E0 ldi r27,hi8(2)
1013 /* #APP */
1014 08b0 0E94 0000 call __eeprom_read_byte_1F2021
1015 08b4 802D mov r24,__tmp_reg__
1016 /* #NOAPP */
1017 08b6 8630 cpi r24,lo8(6)
1018 08b8 30F0 brlo .L107
1019 08ba 83E0 ldi r24,lo8(3)
1020 08bc A2E0 ldi r26,lo8(2)
1021 08be B0E0 ldi r27,hi8(2)
1022 /* #APP */
1023 08c0 082E mov __tmp_reg__,r24
1024 08c2 0E94 0000 call __eeprom_write_byte_1F2021
1025 /* #NOAPP */
1026 .L107:
1027 08c6 9927 clr r25
1028 /* epilogue: frame size=0 */
1029 08c8 0895 ret
1030 /* epilogue end (size=1) */
1031 /* function GetActiveParamSet size 17 (16) */
1033 .section .progmem.data,"a",@progbits
1036 __c.0:
1037 0000 0A0D 4765 .string "\n\rGenerating default Parameter Set %d"
1037 6E65 7261
1037 7469 6E67
1037 2064 6566
1037 6175 6C74
1040 __c.1:
1041 0026 0A0D 5573 .string "\n\rUsing Parameter Set %d"
1041 696E 6720
1041 5061 7261
1041 6D65 7465
1041 7220 5365
1044 __c.2:
1045 003f 0A0D 4765 .string "\n\rGenerating default Mixer Table"
1045 6E65 7261
1045 7469 6E67
1045 2064 6566
1045 6175 6C74
1048 __c.3:
1049 0060 0A0D 4D69 .string "\n\rMixer-Config: '%s' (%u Motors)"
1049 7865 722D
1049 436F 6E66
1049 6967 3A20
1049 2725 7327
1052 __c.4:
1053 0081 0A0D 3D3D .string "\n\r=============================="
1053 3D3D 3D3D
1053 3D3D 3D3D
1053 3D3D 3D3D
1053 3D3D 3D3D
1054 .text
1055 .global ParamSet_Init
1057 ParamSet_Init:
1058 /* prologue: frame size=0 */
1059 08ca DF92 push r13
1060 08cc EF92 push r14
1061 08ce FF92 push r15
1062 08d0 0F93 push r16
1063 08d2 1F93 push r17
1064 08d4 CF93 push r28
1065 /* prologue end (size=6) */
1066 08d6 FF24 clr r15
1067 08d8 DF2C mov r13,r15
1068 08da EF2C mov r14,r15
1069 08dc 81E0 ldi r24,lo8(1)
1070 08de 90E0 ldi r25,hi8(1)
1071 08e0 0E94 0000 call GetParamByte
1072 08e4 8435 cpi r24,lo8(84)
1073 08e6 39F0 breq .L110
1074 08e8 31E0 ldi r19,lo8(1)
1075 08ea E32E mov r14,r19
1076 08ec 64E5 ldi r22,lo8(84)
1077 08ee 81E0 ldi r24,lo8(1)
1078 08f0 90E0 ldi r25,hi8(1)
1079 08f2 0E94 0000 call SetParamByte
1080 .L110:
1081 08f6 6CE0 ldi r22,lo8(12)
1082 08f8 70E0 ldi r23,hi8(12)
1083 08fa 80E5 ldi r24,lo8(80)
1084 08fc 90E0 ldi r25,hi8(80)
1085 08fe 0E94 0000 call EEProm_Checksum
1086 0902 C82F mov r28,r24
1087 0904 ACE5 ldi r26,lo8(92)
1088 0906 B0E0 ldi r27,hi8(92)
1089 /* #APP */
1090 0908 0E94 0000 call __eeprom_read_byte_1F2021
1091 090c 802D mov r24,__tmp_reg__
1092 /* #NOAPP */
1093 090e 8C17 cp r24,r28
1094 0910 11F4 brne .L111
1095 0912 21E0 ldi r18,lo8(1)
1096 0914 D22E mov r13,r18
1097 .L111:
1098 0916 C1E0 ldi r28,lo8(1)
1099 0918 01E0 ldi r16,lo8(1)
1100 091a 10E0 ldi r17,hi8(1)
1101 .L133:
1102 091c EE20 tst r14
1103 091e 29F4 brne .L117
1104 0920 8C2F mov r24,r28
1105 0922 0E94 0000 call ParamSet_ReadFromEEProm
1106 0926 8823 tst r24
1107 0928 B1F5 brne .L115
1108 .L117:
1109 092a 91E0 ldi r25,lo8(1)
1110 092c F92E mov r15,r25
1111 092e 1F93 push r17
1112 0930 0F93 push r16
1113 0932 80E0 ldi r24,lo8(__c.0)
1114 0934 90E0 ldi r25,hi8(__c.0)
1115 0936 9F93 push r25
1116 0938 8F93 push r24
1117 093a 80E0 ldi r24,lo8(pm(uart_putchar))
1118 093c 90E0 ldi r25,hi8(pm(uart_putchar))
1119 093e 9F93 push r25
1120 0940 8F93 push r24
1121 0942 E091 0000 lds r30,_printf_P
1122 0946 F091 0000 lds r31,(_printf_P)+1
1123 094a 0995 icall
1124 094c 8DB7 in r24,__SP_L__
1125 094e 9EB7 in r25,__SP_H__
1126 0950 0696 adiw r24,6
1127 0952 8DBF out __SP_L__,r24
1128 0954 0230 cpi r16,2
1129 0956 1105 cpc r17,__zero_reg__
1130 0958 49F0 breq .L120
1131 095a 0330 cpi r16,3
1132 095c 1105 cpc r17,__zero_reg__
1133 095e 4CF4 brge .L122
1134 0960 0130 cpi r16,1
1135 0962 1105 cpc r17,__zero_reg__
1136 0964 31F4 brne .L122
1137 0966 0E94 0000 call ParamSet_DefaultSet1
1138 096a 05C0 rjmp .L118
1139 .L120:
1140 096c 0E94 0000 call ParamSet_DefaultSet2
1141 0970 02C0 rjmp .L118
1142 .L122:
1143 0972 0E94 0000 call ParamSet_DefaultSet3
1144 .L118:
1145 0976 DD20 tst r13
1146 0978 49F0 breq .L124
1147 097a E0E0 ldi r30,lo8(EE_Parameter+1)
1148 097c F0E0 ldi r31,hi8(EE_Parameter+1)
1149 097e A0E5 ldi r26,lo8(80)
1150 0980 B0E0 ldi r27,hi8(80)
1151 0982 8CE0 ldi r24,lo8(12)
1152 /* #APP */
1153 0984 182E mov __zero_reg__,r24
1154 0986 0E94 0000 call __eeprom_read_block_1F2021
1155 /* #NOAPP */
1156 098a 02C0 rjmp .L132
1157 .L124:
1158 098c 0E94 0000 call ParamSet_DefaultStickMapping
1159 .L132:
1160 0990 8C2F mov r24,r28
1161 0992 0E94 0000 call ParamSet_WriteToEEProm
1162 .L115:
1163 0996 CF5F subi r28,lo8(-(1))
1164 0998 0F5F subi r16,lo8(-(1))
1165 099a 1F4F sbci r17,hi8(-(1))
1166 099c C630 cpi r28,lo8(6)
1167 099e 08F4 brsh .+2
1168 09a0 BDCF rjmp .L133
1169 09a2 FF20 tst r15
1170 09a4 19F0 breq .L134
1171 09a6 83E0 ldi r24,lo8(3)
1172 09a8 0E94 0000 call SetActiveParamSet
1173 .L134:
1174 09ac 0E94 0000 call GetActiveParamSet
1175 09b0 C82F mov r28,r24
1176 09b2 0E94 0000 call ParamSet_ReadFromEEProm
1177 09b6 8C2F mov r24,r28
1178 09b8 9927 clr r25
1179 09ba 9F93 push r25
1180 09bc 8F93 push r24
1181 09be 80E0 ldi r24,lo8(__c.1)
1182 09c0 90E0 ldi r25,hi8(__c.1)
1183 09c2 9F93 push r25
1184 09c4 8F93 push r24
1185 09c6 00E0 ldi r16,lo8(pm(uart_putchar))
1186 09c8 10E0 ldi r17,hi8(pm(uart_putchar))
1187 09ca 1F93 push r17
1188 09cc 0F93 push r16
1189 09ce E091 0000 lds r30,_printf_P
1190 09d2 F091 0000 lds r31,(_printf_P)+1
1191 09d6 0995 icall
1192 09d8 8DB7 in r24,__SP_L__
1193 09da 9EB7 in r25,__SP_H__
1194 09dc 0696 adiw r24,6
1195 09de 8DBF out __SP_L__,r24
1196 09e0 EE20 tst r14
1197 09e2 21F4 brne .L136
1198 09e4 0E94 0000 call MixerTable_ReadFromEEProm
1199 09e8 8823 tst r24
1200 09ea 99F4 brne .L135
1201 .L136:
1202 09ec 80E0 ldi r24,lo8(__c.2)
1203 09ee 90E0 ldi r25,hi8(__c.2)
1204 09f0 9F93 push r25
1205 09f2 8F93 push r24
1206 09f4 1F93 push r17
1207 09f6 0F93 push r16
1208 09f8 E091 0000 lds r30,_printf_P
1209 09fc F091 0000 lds r31,(_printf_P)+1
1210 0a00 0995 icall
1211 0a02 0E94 0000 call MixerTable_Default
1212 0a06 0E94 0000 call MixerTable_WriteToEEProm
1213 0a0a 0F90 pop __tmp_reg__
1214 0a0c 0F90 pop __tmp_reg__
1215 0a0e 0F90 pop __tmp_reg__
1216 0a10 0F90 pop __tmp_reg__
1217 .L135:
1218 0a12 1092 0000 sts RequiredMotors,__zero_reg__
1219 0a16 90E0 ldi r25,lo8(0)
1220 0a18 E0E0 ldi r30,lo8(Mixer+13)
1221 0a1a F0E0 ldi r31,hi8(Mixer+13)
1222 0a1c CFE0 ldi r28,lo8(15)
1223 .L141:
1224 0a1e 8081 ld r24,Z
1225 0a20 3496 adiw r30,4
1226 0a22 1816 cp __zero_reg__,r24
1227 0a24 0CF4 brge .L139
1228 0a26 9F5F subi r25,lo8(-(1))
1229 .L139:
1230 0a28 C150 subi r28,lo8(-(-1))
1231 0a2a C7FF sbrs r28,7
1232 0a2c F8CF rjmp .L141
1233 0a2e 9093 0000 sts RequiredMotors,r25
1234 0a32 892F mov r24,r25
1235 0a34 9927 clr r25
1236 0a36 9F93 push r25
1237 0a38 8F93 push r24
1238 0a3a 80E0 ldi r24,lo8(Mixer+1)
1239 0a3c 90E0 ldi r25,hi8(Mixer+1)
1240 0a3e 9F93 push r25
1241 0a40 8F93 push r24
1242 0a42 80E0 ldi r24,lo8(__c.3)
1243 0a44 90E0 ldi r25,hi8(__c.3)
1244 0a46 9F93 push r25
1245 0a48 8F93 push r24
1246 0a4a 1F93 push r17
1247 0a4c 0F93 push r16
1248 0a4e E091 0000 lds r30,_printf_P
1249 0a52 F091 0000 lds r31,(_printf_P)+1
1250 0a56 0995 icall
1251 0a58 8DB7 in r24,__SP_L__
1252 0a5a 9EB7 in r25,__SP_H__
1253 0a5c 0896 adiw r24,8
1254 0a5e 8DBF out __SP_L__,r24
1255 0a60 80E0 ldi r24,lo8(__c.4)
1256 0a62 90E0 ldi r25,hi8(__c.4)
1257 0a64 9F93 push r25
1258 0a66 8F93 push r24
1259 0a68 1F93 push r17
1260 0a6a 0F93 push r16
1261 0a6c E091 0000 lds r30,_printf_P
1262 0a70 F091 0000 lds r31,(_printf_P)+1
1263 0a74 0995 icall
1264 0a76 0F90 pop __tmp_reg__
1265 0a78 0F90 pop __tmp_reg__
1266 0a7a 0F90 pop __tmp_reg__
1267 0a7c 0F90 pop __tmp_reg__
1268 /* epilogue: frame size=0 */
1269 0a7e CF91 pop r28
1270 0a80 1F91 pop r17
1271 0a82 0F91 pop r16
1272 0a84 FF90 pop r15
1273 0a86 EF90 pop r14
1274 0a88 DF90 pop r13
1275 0a8a 0895 ret
1276 /* epilogue end (size=7) */
1277 /* function ParamSet_Init size 227 (214) */
1279 .comm Mixer,78,1
1280 .comm RequiredMotors,1,1
1281 .comm EE_Parameter,113,1
1282 /* File "eeprom.c": code 1373 = 0x055d (1307), prologues 25, epilogues 41 */
DEFINED SYMBOLS
*ABS*:00000000 eeprom.c
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:3 *ABS*:0000003f __SREG__
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:13 .text:00000000 RAM_Checksum
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:41 .text:00000022 EEProm_Checksum
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:73 .text:0000004a ParamSet_DefaultStickMapping
*COM*:00000071 EE_Parameter
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:112 .text:00000094 ParamSet_DefaultSet1
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:285 .text:00000288 ParamSet_DefaultSet2
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:457 .text:0000047a ParamSet_DefaultSet3
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:622 .text:00000668 GetParamByte
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:638 .text:00000674 SetParamByte
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:653 .text:0000067e GetParamWord
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:669 .text:00000688 SetParamWord
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:685 .text:00000692 ParamSet_ReadFromEEProm
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:753 .text:00000700 SetActiveParamSet
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:778 .text:0000071a ParamSet_WriteToEEProm
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:854 .text:0000079e MixerTable_ReadFromEEProm
*COM*:0000004e Mixer
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:902 .text:000007e2 MixerTable_WriteToEEProm
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:946 .text:0000081e MixerTable_Default
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:1008 .text:000008ac GetActiveParamSet
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:1036 .progmem.data:00000000 __c.0
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:1040 .progmem.data:00000026 __c.1
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:1044 .progmem.data:0000003f __c.2
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:1048 .progmem.data:00000060 __c.3
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:1052 .progmem.data:00000081 __c.4
C:\Users\Arthur-P\AppData\Local\Temp/ccQZaaaa.s:1057 .text:000008ca ParamSet_Init
*COM*:00000001 RequiredMotors
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__eeprom_read_byte_1F2021
PlatinenVersion
__eeprom_write_byte_1F2021
__eeprom_read_word_1F2021
__eeprom_write_word_1F2021
__eeprom_read_block_1F2021
LED_Init
__epilogue_restores__
__eeprom_write_block_1F2021
uart_putchar
_printf_P