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