Subversion Repositories FlightCtrl

Rev

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