1 .file "effect.c" 2 __SREG__ = 0x3f 3 __SP_H__ = 0x3e 4 __SP_L__ = 0x3d 5 __CCP__ = 0x34 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .global __do_copy_data 9 .global __do_clear_bss 17 .Ltext0: 18 .global effect_telcstairs_do 20 effect_telcstairs_do: 21 .LFB24: 22 .LM1: 23 .LVL0: 24 0000 CF93 push r28 25 0002 DF93 push r29 26 /* prologue: function */ 27 /* frame size = 0 */ 28 0004 EC01 movw r28,r24 29 .LM2: 30 0006 DC01 movw r26,r24 31 0008 20E0 ldi r18,lo8(0) 32 000a 30E0 ldi r19,hi8(0) 33 .LVL1: 34 000c 00C0 rjmp .L2 35 .LVL2: 36 .L4: 37 .LM3: 38 000e A830 cpi r26,8 39 0010 B105 cpc r27,__zero_reg__ 40 0012 04F4 brge .L3 41 .LVL3: 42 0014 2830 cpi r18,8 43 0016 3105 cpc r19,__zero_reg__ 44 0018 04F4 brge .L3 45 .LM4: 46 001a FD01 movw r30,r26 47 001c 83E0 ldi r24,3 48 001e EE0F 1: lsl r30 49 0020 FF1F rol r31 50 0022 8A95 dec r24 51 0024 01F4 brne 1b 52 0026 E20F add r30,r18 53 0028 F31F adc r31,r19 54 002a E050 subi r30,lo8(-(cube)) 55 002c F040 sbci r31,hi8(-(cube)) 56 002e 6083 st Z,r22 57 .LVL4: 58 .L3: 59 .LM5: 60 0030 2F5F subi r18,lo8(-(1)) 61 0032 3F4F sbci r19,hi8(-(1)) 62 0034 1197 sbiw r26,1 63 .LVL5: 64 .L2: 65 0036 C217 cp r28,r18 66 0038 D307 cpc r29,r19 67 003a 04F4 brge .L4 68 .LVL6: 69 .LM6: 70 003c CA01 movw r24,r20 71 003e 0E94 0000 call delay_ms 72 .LVL7: 73 .LM7: 74 0042 CE01 movw r24,r28 75 .LVL8: 76 /* epilogue start */ 77 0044 DF91 pop r29 78 0046 CF91 pop r28 79 0048 0895 ret 80 .LFE24: 82 .global effect_telcstairs 84 effect_telcstairs: 85 .LFB25: 86 .LM8: 87 .LVL9: 88 004a 0F93 push r16 89 004c 1F93 push r17 90 004e CF93 push r28 91 0050 DF93 push r29 92 /* prologue: function */ 93 /* frame size = 0 */ 94 0052 8B01 movw r16,r22 95 0054 EA01 movw r28,r20 96 .LM9: 97 0056 892B or r24,r25 98 0058 01F0 breq .L7 99 .LVL10: 100 005a 80E1 ldi r24,lo8(16) 101 005c 90E0 ldi r25,hi8(16) 102 .LVL11: 103 .L8: 104 .LM10: 105 005e BE01 movw r22,r28 106 0060 A801 movw r20,r16 107 0062 0E94 0000 call effect_telcstairs_do 108 .LVL12: 109 .LM11: 110 0066 0197 sbiw r24,1 111 .LVL13: 112 0068 97FF sbrs r25,7 113 006a 00C0 rjmp .L8 114 006c 00C0 rjmp .L11 115 .LVL14: 116 .L7: 117 006e 80E0 ldi r24,lo8(0) 118 0070 90E0 ldi r25,hi8(0) 119 .LVL15: 120 .L10: 121 .LM12: 122 0072 BE01 movw r22,r28 123 0074 A801 movw r20,r16 124 0076 0E94 0000 call effect_telcstairs_do 125 .LVL16: 126 .LM13: 127 007a 0196 adiw r24,1 128 .LVL17: 129 007c 8031 cpi r24,16 130 007e 9105 cpc r25,__zero_reg__ 131 0080 04F0 brlt .L10 132 .L11: 133 /* epilogue start */ 134 .LM14: 135 0082 DF91 pop r29 136 0084 CF91 pop r28 137 .LVL18: 138 0086 1F91 pop r17 139 0088 0F91 pop r16 140 .LVL19: 141 008a 0895 ret 142 .LFE25: 144 .global sendvoxel_z 146 sendvoxel_z: 147 .LFB10: 148 .LM15: 149 .LVL20: 150 008c 7F92 push r7 151 008e 8F92 push r8 152 0090 9F92 push r9 153 0092 AF92 push r10 154 0094 BF92 push r11 155 0096 CF92 push r12 156 0098 DF92 push r13 157 009a EF92 push r14 158 009c FF92 push r15 159 009e 0F93 push r16 160 00a0 1F93 push r17 161 00a2 CF93 push r28 162 00a4 DF93 push r29 163 /* prologue: function */ 164 /* frame size = 0 */ 165 00a6 E82E mov r14,r24 166 00a8 F62E mov r15,r22 167 00aa 742E mov r7,r20 168 00ac 6901 movw r12,r18 169 .LM16: 170 00ae C0E0 ldi r28,lo8(0) 171 00b0 D0E0 ldi r29,hi8(0) 172 .LVL21: 173 00b2 27E0 ldi r18,lo8(7) 174 00b4 822E mov r8,r18 175 00b6 912C mov r9,__zero_reg__ 176 .LVL22: 177 .LM17: 178 00b8 98E0 ldi r25,lo8(8) 179 00ba A92E mov r10,r25 180 00bc B12C mov r11,__zero_reg__ 181 .LVL23: 182 .L17: 183 .LM18: 184 00be 87E0 ldi r24,lo8(7) 185 00c0 7816 cp r7,r24 186 00c2 01F4 brne .L15 187 .LM19: 188 00c4 8401 movw r16,r8 189 00c6 0C1B sub r16,r28 190 00c8 1D0B sbc r17,r29 191 .LM20: 192 00ca A501 movw r20,r10 193 00cc 4C1B sub r20,r28 194 00ce 5D0B sbc r21,r29 195 00d0 8E2D mov r24,r14 196 00d2 90E0 ldi r25,lo8(0) 197 00d4 6F2D mov r22,r15 198 00d6 70E0 ldi r23,lo8(0) 199 00d8 0E94 0000 call clrvoxel 200 00dc 00C0 rjmp .L16 201 .LVL24: 202 .L15: 203 .LM21: 204 00de AE01 movw r20,r28 205 00e0 4150 subi r20,lo8(-(-1)) 206 00e2 5040 sbci r21,hi8(-(-1)) 207 00e4 8E2D mov r24,r14 208 00e6 90E0 ldi r25,lo8(0) 209 00e8 6F2D mov r22,r15 210 00ea 70E0 ldi r23,lo8(0) 211 00ec 0E94 0000 call clrvoxel 212 00f0 8E01 movw r16,r28 213 .L16: 214 .LM22: 215 00f2 8E2D mov r24,r14 216 00f4 90E0 ldi r25,lo8(0) 217 00f6 6F2D mov r22,r15 218 00f8 70E0 ldi r23,lo8(0) 219 00fa A801 movw r20,r16 220 00fc 0E94 0000 call setvoxel 221 .LM23: 222 0100 C601 movw r24,r12 223 0102 0E94 0000 call delay_ms 224 .LM24: 225 0106 2196 adiw r28,1 226 0108 C830 cpi r28,8 227 010a D105 cpc r29,__zero_reg__ 228 010c 01F4 brne .L17 229 /* epilogue start */ 230 .LM25: 231 010e DF91 pop r29 232 0110 CF91 pop r28 233 .LVL25: 234 0112 1F91 pop r17 235 0114 0F91 pop r16 236 .LVL26: 237 0116 FF90 pop r15 238 .LVL27: 239 0118 EF90 pop r14 240 .LVL28: 241 011a DF90 pop r13 242 011c CF90 pop r12 243 .LVL29: 244 011e BF90 pop r11 245 0120 AF90 pop r10 246 0122 9F90 pop r9 247 0124 8F90 pop r8 248 0126 7F90 pop r7 249 .LVL30: 250 0128 0895 ret 251 .LFE10: 253 .global effect_pathmove 255 effect_pathmove: 256 .LFB28: 257 .LM26: 258 .LVL31: 259 012a CF92 push r12 260 012c DF92 push r13 261 012e EF92 push r14 262 0130 FF92 push r15 263 0132 0F93 push r16 264 0134 1F93 push r17 265 0136 CF93 push r28 266 0138 DF93 push r29 267 /* prologue: function */ 268 /* frame size = 0 */ 269 013a 6C01 movw r12,r24 270 .LM27: 271 013c 7B01 movw r14,r22 272 .LVL32: 273 013e 0894 sec 274 0140 E108 sbc r14,__zero_reg__ 275 0142 F108 sbc r15,__zero_reg__ 276 0144 8B01 movw r16,r22 277 0146 0250 subi r16,lo8(-(-2)) 278 0148 1040 sbci r17,hi8(-(-2)) 279 014a 080F add r16,r24 280 014c 191F adc r17,r25 281 014e 00C0 rjmp .L21 282 .LVL33: 283 .L23: 284 0150 C0E0 ldi r28,lo8(0) 285 0152 D0E0 ldi r29,hi8(0) 286 .LVL34: 287 .L22: 288 .LM28: 289 0154 F801 movw r30,r16 290 0156 8081 ld r24,Z 291 .LVL35: 292 0158 682F mov r22,r24 293 .LVL36: 294 015a 70E0 ldi r23,lo8(0) 295 015c 6F70 andi r22,lo8(15) 296 015e 7070 andi r23,hi8(15) 297 0160 8295 swap r24 298 0162 8F70 andi r24,lo8(15) 299 0164 90E0 ldi r25,lo8(0) 300 0166 AE01 movw r20,r28 301 0168 0E94 0000 call getvoxel 302 016c 282F mov r18,r24 303 .LVL37: 304 .LM29: 305 016e F801 movw r30,r16 306 0170 8181 ldd r24,Z+1 307 0172 682F mov r22,r24 308 0174 70E0 ldi r23,lo8(0) 309 0176 6F70 andi r22,lo8(15) 310 0178 7070 andi r23,hi8(15) 311 017a 8295 swap r24 312 017c 8F70 andi r24,lo8(15) 313 017e 90E0 ldi r25,lo8(0) 314 0180 AE01 movw r20,r28 315 0182 30E0 ldi r19,lo8(0) 316 0184 0E94 0000 call altervoxel 317 .LVL38: 318 .LM30: 319 0188 2196 adiw r28,1 320 018a C830 cpi r28,8 321 018c D105 cpc r29,__zero_reg__ 322 018e 01F4 brne .L22 323 .LM31: 324 0190 0894 sec 325 0192 E108 sbc r14,__zero_reg__ 326 0194 F108 sbc r15,__zero_reg__ 327 0196 0150 subi r16,lo8(-(-1)) 328 0198 1040 sbci r17,hi8(-(-1)) 329 .LVL39: 330 .L21: 331 019a 1E14 cp __zero_reg__,r14 332 019c 1F04 cpc __zero_reg__,r15 333 019e 04F0 brlt .L23 334 01a0 C0E0 ldi r28,lo8(0) 335 01a2 D0E0 ldi r29,hi8(0) 336 .LVL40: 337 .L24: 338 .LM32: 339 01a4 F601 movw r30,r12 340 01a6 8081 ld r24,Z 341 .LVL41: 342 01a8 682F mov r22,r24 343 .LVL42: 344 01aa 70E0 ldi r23,lo8(0) 345 01ac 6F70 andi r22,lo8(15) 346 01ae 7070 andi r23,hi8(15) 347 01b0 8295 swap r24 348 01b2 8F70 andi r24,lo8(15) 349 01b4 90E0 ldi r25,lo8(0) 350 01b6 AE01 movw r20,r28 351 01b8 0E94 0000 call clrvoxel 352 .LM33: 353 01bc 2196 adiw r28,1 354 01be C830 cpi r28,8 355 01c0 D105 cpc r29,__zero_reg__ 356 01c2 01F4 brne .L24 357 /* epilogue start */ 358 .LM34: 359 01c4 DF91 pop r29 360 01c6 CF91 pop r28 361 .LVL43: 362 01c8 1F91 pop r17 363 01ca 0F91 pop r16 364 01cc FF90 pop r15 365 01ce EF90 pop r14 366 01d0 DF90 pop r13 367 01d2 CF90 pop r12 368 .LVL44: 369 01d4 0895 ret 370 .LFE28: 372 .global effect_path_bitmap 374 effect_path_bitmap: 375 .LFB32: 376 .LM35: 377 .LVL45: 378 01d6 5F92 push r5 379 01d8 6F92 push r6 380 01da 7F92 push r7 381 01dc 8F92 push r8 382 01de 9F92 push r9 383 01e0 AF92 push r10 384 01e2 BF92 push r11 385 01e4 CF92 push r12 386 01e6 DF92 push r13 387 01e8 EF92 push r14 388 01ea FF92 push r15 389 01ec 0F93 push r16 390 01ee 1F93 push r17 391 01f0 DF93 push r29 392 01f2 CF93 push r28 393 01f4 CDB7 in r28,__SP_L__ 394 01f6 DEB7 in r29,__SP_H__ 395 01f8 6C97 sbiw r28,28 396 01fa 0FB6 in __tmp_reg__,__SREG__ 397 01fc F894 cli 398 01fe DEBF out __SP_H__,r29 399 0200 0FBE out __SREG__,__tmp_reg__ 400 0202 CDBF out __SP_L__,r28 401 /* prologue: function */ 402 /* frame size = 28 */ 403 0204 4C01 movw r8,r24 404 .LVL46: 405 0206 562E mov r5,r22 406 0208 3A01 movw r6,r20 407 .LM36: 408 020a 80E0 ldi r24,lo8(0) 409 020c 5E01 movw r10,r28 410 020e 0894 sec 411 0210 A11C adc r10,__zero_reg__ 412 0212 B11C adc r11,__zero_reg__ 413 0214 B501 movw r22,r10 414 .LVL47: 415 0216 4CE1 ldi r20,lo8(28) 416 0218 50E0 ldi r21,hi8(28) 417 .LVL48: 418 021a 0E94 0000 call font_getpath 419 021e CC24 clr r12 420 0220 DD24 clr r13 421 .LVL49: 422 0222 00C0 rjmp .L29 423 .LVL50: 424 .L32: 425 .LM37: 426 0224 852D mov r24,r5 427 0226 6F2D mov r22,r15 428 0228 4E2D mov r20,r14 429 022a 0E94 0000 call font_getbitmappixel 430 022e 8823 tst r24 431 0230 01F0 breq .L30 432 .LM38: 433 0232 80E0 ldi r24,lo8(0) 434 0234 90E0 ldi r25,hi8(0) 435 0236 67E0 ldi r22,lo8(7) 436 0238 70E0 ldi r23,hi8(7) 437 023a A801 movw r20,r16 438 023c 0E94 0000 call setvoxel 439 0240 00C0 rjmp .L31 440 .L30: 441 .LM39: 442 0242 80E0 ldi r24,lo8(0) 443 0244 90E0 ldi r25,hi8(0) 444 0246 67E0 ldi r22,lo8(7) 445 0248 70E0 ldi r23,hi8(7) 446 024a A801 movw r20,r16 447 024c 0E94 0000 call clrvoxel 448 .L31: 449 .LM40: 450 0250 0F5F subi r16,lo8(-(1)) 451 0252 1F4F sbci r17,hi8(-(1)) 452 0254 FA94 dec r15 453 0256 8FEF ldi r24,lo8(-1) 454 0258 F816 cp r15,r24 455 025a 01F4 brne .L32 456 .LM41: 457 025c C401 movw r24,r8 458 025e 0E94 0000 call delay_ms 459 .LM42: 460 0262 C501 movw r24,r10 461 0264 6CE1 ldi r22,lo8(28) 462 0266 70E0 ldi r23,hi8(28) 463 0268 0E94 0000 call effect_pathmove 464 026c E394 inc r14 465 .LM43: 466 026e 88E0 ldi r24,lo8(8) 467 0270 E816 cp r14,r24 468 0272 01F0 breq .L33 469 .LVL51: 470 .L36: 471 0274 00E0 ldi r16,lo8(0) 472 0276 10E0 ldi r17,hi8(0) 473 .LVL52: 474 0278 37E0 ldi r19,lo8(7) 475 027a F32E mov r15,r19 476 027c 00C0 rjmp .L32 477 .L33: 478 027e 00E0 ldi r16,lo8(0) 479 0280 10E0 ldi r17,hi8(0) 480 .LVL53: 481 .L34: 482 .LM44: 483 0282 C401 movw r24,r8 484 0284 0E94 0000 call delay_ms 485 .LM45: 486 0288 C501 movw r24,r10 487 028a 6CE1 ldi r22,lo8(28) 488 028c 70E0 ldi r23,hi8(28) 489 028e 0E94 0000 call effect_pathmove 490 .LM46: 491 0292 0F5F subi r16,lo8(-(1)) 492 0294 1F4F sbci r17,hi8(-(1)) 493 0296 0431 cpi r16,20 494 0298 1105 cpc r17,__zero_reg__ 495 029a 01F4 brne .L34 496 .LM47: 497 029c 0894 sec 498 029e C11C adc r12,__zero_reg__ 499 02a0 D11C adc r13,__zero_reg__ 500 .L29: 501 02a2 C614 cp r12,r6 502 02a4 D704 cpc r13,r7 503 02a6 04F4 brge .L35 504 02a8 EE24 clr r14 505 02aa 00C0 rjmp .L36 506 .L35: 507 02ac 00E0 ldi r16,lo8(0) 508 02ae 10E0 ldi r17,hi8(0) 509 .LVL54: 510 .LM48: 511 02b0 7E01 movw r14,r28 512 02b2 0894 sec 513 02b4 E11C adc r14,__zero_reg__ 514 02b6 F11C adc r15,__zero_reg__ 515 .L37: 516 .LM49: 517 02b8 C401 movw r24,r8 518 02ba 0E94 0000 call delay_ms 519 .LM50: 520 02be C701 movw r24,r14 521 02c0 6CE1 ldi r22,lo8(28) 522 02c2 70E0 ldi r23,hi8(28) 523 02c4 0E94 0000 call effect_pathmove 524 .LM51: 525 02c8 0F5F subi r16,lo8(-(1)) 526 02ca 1F4F sbci r17,hi8(-(1)) 527 02cc 0A30 cpi r16,10 528 02ce 1105 cpc r17,__zero_reg__ 529 02d0 01F4 brne .L37 530 /* epilogue start */ 531 .LM52: 532 02d2 6C96 adiw r28,28 533 02d4 0FB6 in __tmp_reg__,__SREG__ 534 02d6 F894 cli 535 02d8 DEBF out __SP_H__,r29 536 02da 0FBE out __SREG__,__tmp_reg__ 537 02dc CDBF out __SP_L__,r28 538 02de CF91 pop r28 539 02e0 DF91 pop r29 540 02e2 1F91 pop r17 541 02e4 0F91 pop r16 542 .LVL55: 543 02e6 FF90 pop r15 544 02e8 EF90 pop r14 545 02ea DF90 pop r13 546 02ec CF90 pop r12 547 .LVL56: 548 02ee BF90 pop r11 549 02f0 AF90 pop r10 550 02f2 9F90 pop r9 551 02f4 8F90 pop r8 552 02f6 7F90 pop r7 553 02f8 6F90 pop r6 554 .LVL57: 555 02fa 5F90 pop r5 556 .LVL58: 557 02fc 0895 ret 558 .LFE32: 560 .global effect_path_text 562 effect_path_text: 563 .LFB31: 564 .LM53: 565 .LVL59: 566 02fe 2F92 push r2 567 0300 3F92 push r3 568 0302 4F92 push r4 569 0304 5F92 push r5 570 0306 6F92 push r6 571 0308 7F92 push r7 572 030a 8F92 push r8 573 030c 9F92 push r9 574 030e AF92 push r10 575 0310 BF92 push r11 576 0312 CF92 push r12 577 0314 DF92 push r13 578 0316 EF92 push r14 579 0318 FF92 push r15 580 031a 0F93 push r16 581 031c 1F93 push r17 582 031e DF93 push r29 583 0320 CF93 push r28 584 0322 CDB7 in r28,__SP_L__ 585 0324 DEB7 in r29,__SP_H__ 586 0326 A197 sbiw r28,33 587 0328 0FB6 in __tmp_reg__,__SREG__ 588 032a F894 cli 589 032c DEBF out __SP_H__,r29 590 032e 0FBE out __SREG__,__tmp_reg__ 591 0330 CDBF out __SP_L__,r28 592 /* prologue: function */ 593 /* frame size = 33 */ 594 0332 3C01 movw r6,r24 595 .LVL60: 596 0334 6B01 movw r12,r22 597 .LM54: 598 0336 56E0 ldi r21,lo8(6) 599 0338 852E mov r8,r21 600 033a 912C mov r9,__zero_reg__ 601 033c 8C0E add r8,r28 602 033e 9D1E adc r9,r29 603 0340 80E0 ldi r24,lo8(0) 604 0342 B401 movw r22,r8 605 .LVL61: 606 0344 4CE1 ldi r20,lo8(28) 607 0346 50E0 ldi r21,hi8(28) 608 0348 0E94 0000 call font_getpath 609 .LM55: 610 034c 1E01 movw r2,r28 611 034e 0894 sec 612 0350 211C adc r2,__zero_reg__ 613 0352 311C adc r3,__zero_reg__ 614 .LM56: 615 0354 2401 movw r4,r8 616 0356 00C0 rjmp .L43 617 .LVL62: 618 .L48: 619 .LM57: 620 0358 B101 movw r22,r2 621 035a 0E94 0000 call font_getchar 622 035e 7101 movw r14,r2 623 .L47: 624 .LM58: 625 0360 F701 movw r30,r14 626 0362 8081 ld r24,Z 627 .LVL63: 628 0364 00E0 ldi r16,lo8(0) 629 0366 10E0 ldi r17,hi8(0) 630 .LM59: 631 0368 A82E mov r10,r24 632 036a BB24 clr r11 633 .LVL64: 634 .L46: 635 036c 87E0 ldi r24,lo8(7) 636 036e 90E0 ldi r25,hi8(7) 637 0370 801B sub r24,r16 638 0372 910B sbc r25,r17 639 0374 9501 movw r18,r10 640 0376 00C0 rjmp 2f 641 0378 3595 1: asr r19 642 037a 2795 ror r18 643 037c 8A95 2: dec r24 644 037e 02F4 brpl 1b 645 0380 20FF sbrs r18,0 646 0382 00C0 rjmp .L44 647 .LM60: 648 0384 80E0 ldi r24,lo8(0) 649 0386 90E0 ldi r25,hi8(0) 650 0388 67E0 ldi r22,lo8(7) 651 038a 70E0 ldi r23,hi8(7) 652 038c A801 movw r20,r16 653 038e 0E94 0000 call setvoxel 654 0392 00C0 rjmp .L45 655 .L44: 656 .LM61: 657 0394 80E0 ldi r24,lo8(0) 658 0396 90E0 ldi r25,hi8(0) 659 0398 67E0 ldi r22,lo8(7) 660 039a 70E0 ldi r23,hi8(7) 661 039c A801 movw r20,r16 662 039e 0E94 0000 call clrvoxel 663 .L45: 664 .LM62: 665 03a2 0F5F subi r16,lo8(-(1)) 666 03a4 1F4F sbci r17,hi8(-(1)) 667 03a6 0830 cpi r16,8 668 03a8 1105 cpc r17,__zero_reg__ 669 03aa 01F4 brne .L46 670 .LM63: 671 03ac C401 movw r24,r8 672 03ae 6CE1 ldi r22,lo8(28) 673 03b0 70E0 ldi r23,hi8(28) 674 03b2 0E94 0000 call effect_pathmove 675 .LM64: 676 03b6 C301 movw r24,r6 677 03b8 0E94 0000 call delay_ms 678 03bc 0894 sec 679 03be E11C adc r14,__zero_reg__ 680 03c0 F11C adc r15,__zero_reg__ 681 .LM65: 682 03c2 E414 cp r14,r4 683 03c4 F504 cpc r15,r5 684 03c6 01F4 brne .L47 685 .LM66: 686 03c8 0894 sec 687 03ca C11C adc r12,__zero_reg__ 688 03cc D11C adc r13,__zero_reg__ 689 .LM67: 690 03ce C201 movw r24,r4 691 03d0 6CE1 ldi r22,lo8(28) 692 03d2 70E0 ldi r23,hi8(28) 693 03d4 0E94 0000 call effect_pathmove 694 .LM68: 695 03d8 C301 movw r24,r6 696 03da 0E94 0000 call delay_ms 697 .L43: 698 .LM69: 699 03de F601 movw r30,r12 700 03e0 8081 ld r24,Z 701 03e2 8823 tst r24 702 03e4 01F0 breq .+2 703 03e6 00C0 rjmp .L48 704 03e8 00E0 ldi r16,lo8(0) 705 03ea 10E0 ldi r17,hi8(0) 706 .LVL65: 707 .LM70: 708 03ec 46E0 ldi r20,lo8(6) 709 03ee E42E mov r14,r20 710 03f0 F12C mov r15,__zero_reg__ 711 03f2 EC0E add r14,r28 712 03f4 FD1E adc r15,r29 713 .L49: 714 03f6 C701 movw r24,r14 715 03f8 6CE1 ldi r22,lo8(28) 716 03fa 70E0 ldi r23,hi8(28) 717 03fc 0E94 0000 call effect_pathmove 718 .LM71: 719 0400 C301 movw r24,r6 720 0402 0E94 0000 call delay_ms 721 .LM72: 722 0406 0F5F subi r16,lo8(-(1)) 723 0408 1F4F sbci r17,hi8(-(1)) 724 040a 0C31 cpi r16,28 725 040c 1105 cpc r17,__zero_reg__ 726 040e 01F4 brne .L49 727 /* epilogue start */ 728 .LM73: 729 0410 A196 adiw r28,33 730 0412 0FB6 in __tmp_reg__,__SREG__ 731 0414 F894 cli 732 0416 DEBF out __SP_H__,r29 733 0418 0FBE out __SREG__,__tmp_reg__ 734 041a CDBF out __SP_L__,r28 735 041c CF91 pop r28 736 041e DF91 pop r29 737 0420 1F91 pop r17 738 0422 0F91 pop r16 739 .LVL66: 740 0424 FF90 pop r15 741 0426 EF90 pop r14 742 0428 DF90 pop r13 743 042a CF90 pop r12 744 .LVL67: 745 042c BF90 pop r11 746 .LVL68: 747 042e AF90 pop r10 748 .LVL69: 749 0430 9F90 pop r9 750 0432 8F90 pop r8 751 0434 7F90 pop r7 752 0436 6F90 pop r6 753 0438 5F90 pop r5 754 043a 4F90 pop r4 755 043c 3F90 pop r3 756 043e 2F90 pop r2 757 0440 0895 ret 758 .LFE31: 760 .global effect_pathspiral 762 effect_pathspiral: 763 .LFB30: 764 .LM74: 765 .LVL70: 766 0442 9F92 push r9 767 0444 AF92 push r10 768 0446 BF92 push r11 769 0448 CF92 push r12 770 044a DF92 push r13 771 044c EF92 push r14 772 044e FF92 push r15 773 0450 0F93 push r16 774 0452 1F93 push r17 775 0454 DF93 push r29 776 0456 CF93 push r28 777 0458 CDB7 in r28,__SP_L__ 778 045a DEB7 in r29,__SP_H__ 779 045c 6097 sbiw r28,16 780 045e 0FB6 in __tmp_reg__,__SREG__ 781 0460 F894 cli 782 0462 DEBF out __SP_H__,r29 783 0464 0FBE out __SREG__,__tmp_reg__ 784 0466 CDBF out __SP_L__,r28 785 /* prologue: function */ 786 /* frame size = 16 */ 787 0468 5C01 movw r10,r24 788 046a 6B01 movw r12,r22 789 .LM75: 790 046c 81E0 ldi r24,lo8(1) 791 .LVL71: 792 046e 8E01 movw r16,r28 793 0470 0F5F subi r16,lo8(-(1)) 794 0472 1F4F sbci r17,hi8(-(1)) 795 0474 B801 movw r22,r16 796 .LVL72: 797 0476 40E1 ldi r20,lo8(16) 798 0478 50E0 ldi r21,hi8(16) 799 047a 0E94 0000 call font_getpath 800 047e EE24 clr r14 801 0480 FF24 clr r15 802 .LVL73: 803 .LM76: 804 0482 902E mov r9,r16 805 0484 012F mov r16,r17 806 0486 00C0 rjmp .L55 807 .L56: 808 .LM77: 809 0488 A701 movw r20,r14 810 048a 4770 andi r20,lo8(7) 811 048c 5070 andi r21,hi8(7) 812 048e 84E0 ldi r24,lo8(4) 813 0490 90E0 ldi r25,hi8(4) 814 0492 60E0 ldi r22,lo8(0) 815 0494 70E0 ldi r23,hi8(0) 816 0496 0E94 0000 call setvoxel 817 .LM78: 818 049a C601 movw r24,r12 819 049c 0E94 0000 call delay_ms 820 .LM79: 821 04a0 892D mov r24,r9 822 04a2 902F mov r25,r16 823 04a4 6CE1 ldi r22,lo8(28) 824 04a6 70E0 ldi r23,hi8(28) 825 04a8 0E94 0000 call effect_pathmove 826 .LM80: 827 04ac 0894 sec 828 04ae E11C adc r14,__zero_reg__ 829 04b0 F11C adc r15,__zero_reg__ 830 .L55: 831 04b2 EA14 cp r14,r10 832 04b4 FB04 cpc r15,r11 833 04b6 04F0 brlt .L56 834 /* epilogue start */ 835 .LM81: 836 04b8 6096 adiw r28,16 837 04ba 0FB6 in __tmp_reg__,__SREG__ 838 04bc F894 cli 839 04be DEBF out __SP_H__,r29 840 04c0 0FBE out __SREG__,__tmp_reg__ 841 04c2 CDBF out __SP_L__,r28 842 04c4 CF91 pop r28 843 04c6 DF91 pop r29 844 04c8 1F91 pop r17 845 04ca 0F91 pop r16 846 04cc FF90 pop r15 847 04ce EF90 pop r14 848 .LVL74: 849 04d0 DF90 pop r13 850 04d2 CF90 pop r12 851 .LVL75: 852 04d4 BF90 pop r11 853 04d6 AF90 pop r10 854 .LVL76: 855 04d8 9F90 pop r9 856 04da 0895 ret 857 .LFE30: 859 .global effect_rand_patharound 861 effect_rand_patharound: 862 .LFB29: 863 .LM82: 864 .LVL77: 865 04dc 7F92 push r7 866 04de 8F92 push r8 867 04e0 9F92 push r9 868 04e2 AF92 push r10 869 04e4 BF92 push r11 870 04e6 CF92 push r12 871 04e8 DF92 push r13 872 04ea EF92 push r14 873 04ec FF92 push r15 874 04ee 0F93 push r16 875 04f0 1F93 push r17 876 04f2 DF93 push r29 877 04f4 CF93 push r28 878 04f6 CDB7 in r28,__SP_L__ 879 04f8 DEB7 in r29,__SP_H__ 880 04fa 6C97 sbiw r28,28 881 04fc 0FB6 in __tmp_reg__,__SREG__ 882 04fe F894 cli 883 0500 DEBF out __SP_H__,r29 884 0502 0FBE out __SREG__,__tmp_reg__ 885 0504 CDBF out __SP_L__,r28 886 /* prologue: function */ 887 /* frame size = 28 */ 888 0506 4C01 movw r8,r24 889 0508 5B01 movw r10,r22 890 .LM83: 891 050a 80E0 ldi r24,lo8(0) 892 .LVL78: 893 050c 8E01 movw r16,r28 894 050e 0F5F subi r16,lo8(-(1)) 895 0510 1F4F sbci r17,hi8(-(1)) 896 0512 B801 movw r22,r16 897 .LVL79: 898 0514 4CE1 ldi r20,lo8(28) 899 0516 50E0 ldi r21,hi8(28) 900 0518 0E94 0000 call font_getpath 901 051c 74E0 ldi r23,lo8(4) 902 051e E72E mov r14,r23 903 0520 F12C mov r15,__zero_reg__ 904 .LVL80: 905 0522 CC24 clr r12 906 0524 DD24 clr r13 907 .LVL81: 908 .LM84: 909 0526 702E mov r7,r16 910 0528 012F mov r16,r17 911 052a 00C0 rjmp .L59 912 .L62: 913 .LM85: 914 052c 0E94 0000 call rand 915 0530 0894 sec 916 0532 E108 sbc r14,__zero_reg__ 917 0534 F108 sbc r15,__zero_reg__ 918 .LM86: 919 0536 63E0 ldi r22,lo8(3) 920 0538 70E0 ldi r23,hi8(3) 921 053a 0E94 0000 call __divmodhi4 922 053e E80E add r14,r24 923 0540 F91E adc r15,r25 924 .LM87: 925 0542 88E0 ldi r24,lo8(8) 926 0544 E816 cp r14,r24 927 0546 F104 cpc r15,__zero_reg__ 928 0548 04F0 brlt .L60 929 054a 67E0 ldi r22,lo8(7) 930 054c E62E mov r14,r22 931 054e F12C mov r15,__zero_reg__ 932 0550 00C0 rjmp .L61 933 .L60: 934 .LM88: 935 0552 F7FE sbrs r15,7 936 0554 00C0 rjmp .L61 937 0556 EE24 clr r14 938 0558 FF24 clr r15 939 .L61: 940 .LM89: 941 055a 872D mov r24,r7 942 055c 902F mov r25,r16 943 055e 6CE1 ldi r22,lo8(28) 944 0560 70E0 ldi r23,hi8(28) 945 0562 0E94 0000 call effect_pathmove 946 .LM90: 947 0566 80E0 ldi r24,lo8(0) 948 0568 90E0 ldi r25,hi8(0) 949 056a 67E0 ldi r22,lo8(7) 950 056c 70E0 ldi r23,hi8(7) 951 056e A701 movw r20,r14 952 0570 0E94 0000 call setvoxel 953 .LM91: 954 0574 C501 movw r24,r10 955 0576 0E94 0000 call delay_ms 956 .LM92: 957 057a 0894 sec 958 057c C11C adc r12,__zero_reg__ 959 057e D11C adc r13,__zero_reg__ 960 .L59: 961 0580 C814 cp r12,r8 962 0582 D904 cpc r13,r9 963 0584 04F0 brlt .L62 964 /* epilogue start */ 965 .LM93: 966 0586 6C96 adiw r28,28 967 0588 0FB6 in __tmp_reg__,__SREG__ 968 058a F894 cli 969 058c DEBF out __SP_H__,r29 970 058e 0FBE out __SREG__,__tmp_reg__ 971 0590 CDBF out __SP_L__,r28 972 0592 CF91 pop r28 973 0594 DF91 pop r29 974 0596 1F91 pop r17 975 0598 0F91 pop r16 976 059a FF90 pop r15 977 059c EF90 pop r14 978 .LVL82: 979 059e DF90 pop r13 980 05a0 CF90 pop r12 981 .LVL83: 982 05a2 BF90 pop r11 983 05a4 AF90 pop r10 984 .LVL84: 985 05a6 9F90 pop r9 986 05a8 8F90 pop r8 987 .LVL85: 988 05aa 7F90 pop r7 989 05ac 0895 ret 990 .LFE29: 992 .global effect_stringfly2 994 effect_stringfly2: 995 .LFB5: 996 .LM94: 997 .LVL86: 998 05ae 2F92 push r2 999 05b0 3F92 push r3 1000 05b2 4F92 push r4 1001 05b4 5F92 push r5 1002 05b6 6F92 push r6 1003 05b8 7F92 push r7 1004 05ba 8F92 push r8 1005 05bc 9F92 push r9 1006 05be AF92 push r10 1007 05c0 BF92 push r11 1008 05c2 CF92 push r12 1009 05c4 DF92 push r13 1010 05c6 EF92 push r14 1011 05c8 FF92 push r15 1012 05ca 0F93 push r16 1013 05cc 1F93 push r17 1014 05ce DF93 push r29 1015 05d0 CF93 push r28 1016 05d2 00D0 rcall . 1017 05d4 00D0 rcall . 1018 05d6 0F92 push __tmp_reg__ 1019 05d8 CDB7 in r28,__SP_L__ 1020 05da DEB7 in r29,__SP_H__ 1021 /* prologue: function */ 1022 /* frame size = 5 */ 1023 05dc 3C01 movw r6,r24 1024 .LM95: 1025 05de 2E01 movw r4,r28 1026 05e0 0894 sec 1027 05e2 411C adc r4,__zero_reg__ 1028 05e4 511C adc r5,__zero_reg__ 1029 .LM96: 1030 05e6 F0E8 ldi r31,lo8(128) 1031 05e8 2F2E mov r2,r31 1032 05ea 312C mov r3,__zero_reg__ 1033 05ec 00C0 rjmp .L65 1034 .LVL87: 1035 .L78: 1036 .LM97: 1037 05ee B201 movw r22,r4 1038 05f0 0E94 0000 call font_getchar 1039 05f4 EE24 clr r14 1040 05f6 FF24 clr r15 1041 .LVL88: 1042 05f8 00C0 rjmp .L66 1043 .LVL89: 1044 .L68: 1045 .LM98: 1046 05fa 9101 movw r18,r2 1047 05fc 002E mov r0,r16 1048 05fe 00C0 rjmp 2f 1049 0600 3595 1: asr r19 1050 0602 2795 ror r18 1051 0604 0A94 2: dec r0 1052 0606 02F4 brpl 1b 1053 0608 F501 movw r30,r10 1054 060a 8081 ld r24,Z 1055 060c 90E0 ldi r25,lo8(0) 1056 060e 2823 and r18,r24 1057 0610 3923 and r19,r25 1058 0612 232B or r18,r19 1059 0614 01F0 breq .L67 1060 .LM99: 1061 0616 87E0 ldi r24,lo8(7) 1062 0618 90E0 ldi r25,hi8(7) 1063 061a B601 movw r22,r12 1064 061c A801 movw r20,r16 1065 061e 0E94 0000 call setvoxel 1066 .L67: 1067 .LM100: 1068 0622 0F5F subi r16,lo8(-(1)) 1069 0624 1F4F sbci r17,hi8(-(1)) 1070 0626 0830 cpi r16,8 1071 0628 1105 cpc r17,__zero_reg__ 1072 062a 01F4 brne .L68 1073 .LM101: 1074 062c 0894 sec 1075 062e E11C adc r14,__zero_reg__ 1076 0630 F11C adc r15,__zero_reg__ 1077 0632 F5E0 ldi r31,lo8(5) 1078 0634 EF16 cp r14,r31 1079 0636 F104 cpc r15,__zero_reg__ 1080 0638 01F0 breq .L69 1081 .LVL90: 1082 .L66: 1083 063a 00E0 ldi r16,lo8(0) 1084 063c 10E0 ldi r17,hi8(0) 1085 .LM102: 1086 063e 5201 movw r10,r4 1087 .LVL91: 1088 0640 AE0C add r10,r14 1089 0642 BF1C adc r11,r15 1090 .LM103: 1091 0644 E2E0 ldi r30,lo8(2) 1092 0646 CE2E mov r12,r30 1093 0648 D12C mov r13,__zero_reg__ 1094 064a CE0C add r12,r14 1095 064c DF1C adc r13,r15 1096 064e 00C0 rjmp .L68 1097 .L69: 1098 .LM104: 1099 0650 AA24 clr r10 1100 0652 BB24 clr r11 1101 .LVL92: 1102 .L77: 1103 .LM105: 1104 0654 88EE ldi r24,lo8(1000) 1105 0656 93E0 ldi r25,hi8(1000) 1106 0658 0E94 0000 call delay_ms 1107 065c CC24 clr r12 1108 065e DD24 clr r13 1109 .LVL93: 1110 0660 00C0 rjmp .L70 1111 .L71: 1112 .LM106: 1113 0662 C401 movw r24,r8 1114 0664 B701 movw r22,r14 1115 0666 A801 movw r20,r16 1116 0668 0E94 0000 call getvoxel 1117 066c 282F mov r18,r24 1118 .LM107: 1119 066e C601 movw r24,r12 1120 0670 B701 movw r22,r14 1121 0672 A801 movw r20,r16 1122 0674 30E0 ldi r19,lo8(0) 1123 0676 0E94 0000 call altervoxel 1124 .LM108: 1125 067a 0F5F subi r16,lo8(-(1)) 1126 067c 1F4F sbci r17,hi8(-(1)) 1127 067e 0830 cpi r16,8 1128 0680 1105 cpc r17,__zero_reg__ 1129 0682 01F4 brne .L71 1130 .LM109: 1131 0684 0894 sec 1132 0686 E11C adc r14,__zero_reg__ 1133 0688 F11C adc r15,__zero_reg__ 1134 068a 88E0 ldi r24,lo8(8) 1135 068c E816 cp r14,r24 1136 068e F104 cpc r15,__zero_reg__ 1137 0690 01F0 breq .L72 1138 .L74: 1139 0692 00E0 ldi r16,lo8(0) 1140 0694 10E0 ldi r17,hi8(0) 1141 0696 00C0 rjmp .L71 1142 .L72: 1143 0698 6401 movw r12,r8 1144 .LM110: 1145 069a E7E0 ldi r30,lo8(7) 1146 069c 8E16 cp r8,r30 1147 069e 9104 cpc r9,__zero_reg__ 1148 06a0 01F4 brne .L70 1149 .LVL94: 1150 06a2 EE24 clr r14 1151 06a4 FF24 clr r15 1152 .LVL95: 1153 06a6 00C0 rjmp .L73 1154 .LVL96: 1155 .L70: 1156 06a8 EE24 clr r14 1157 06aa FF24 clr r15 1158 .LM111: 1159 06ac 4601 movw r8,r12 1160 06ae 0894 sec 1161 06b0 811C adc r8,__zero_reg__ 1162 06b2 911C adc r9,__zero_reg__ 1163 06b4 00C0 rjmp .L74 1164 .LVL97: 1165 .L75: 1166 .LM112: 1167 06b6 87E0 ldi r24,lo8(7) 1168 06b8 90E0 ldi r25,hi8(7) 1169 06ba B701 movw r22,r14 1170 06bc A801 movw r20,r16 1171 06be 0E94 0000 call clrvoxel 1172 .LM113: 1173 06c2 0F5F subi r16,lo8(-(1)) 1174 06c4 1F4F sbci r17,hi8(-(1)) 1175 06c6 0830 cpi r16,8 1176 06c8 1105 cpc r17,__zero_reg__ 1177 06ca 01F4 brne .L75 1178 .LM114: 1179 06cc 0894 sec 1180 06ce E11C adc r14,__zero_reg__ 1181 06d0 F11C adc r15,__zero_reg__ 1182 06d2 F8E0 ldi r31,lo8(8) 1183 06d4 EF16 cp r14,r31 1184 06d6 F104 cpc r15,__zero_reg__ 1185 06d8 01F0 breq .L76 1186 .L73: 1187 06da 00E0 ldi r16,lo8(0) 1188 06dc 10E0 ldi r17,hi8(0) 1189 06de 00C0 rjmp .L75 1190 .L76: 1191 .LM115: 1192 06e0 0894 sec 1193 06e2 A11C adc r10,__zero_reg__ 1194 06e4 B11C adc r11,__zero_reg__ 1195 06e6 86E0 ldi r24,lo8(6) 1196 06e8 A816 cp r10,r24 1197 06ea B104 cpc r11,__zero_reg__ 1198 06ec 01F0 breq .+2 1199 06ee 00C0 rjmp .L77 1200 .LM116: 1201 06f0 0894 sec 1202 06f2 611C adc r6,__zero_reg__ 1203 06f4 711C adc r7,__zero_reg__ 1204 .LVL98: 1205 .L65: 1206 .LM117: 1207 06f6 F301 movw r30,r6 1208 06f8 8081 ld r24,Z 1209 06fa 8823 tst r24 1210 06fc 01F0 breq .+2 1211 06fe 00C0 rjmp .L78 1212 0700 AA24 clr r10 1213 0702 BB24 clr r11 1214 .LVL99: 1215 .L86: 1216 .LM118: 1217 0704 88EE ldi r24,lo8(1000) 1218 0706 93E0 ldi r25,hi8(1000) 1219 0708 0E94 0000 call delay_ms 1220 070c CC24 clr r12 1221 070e DD24 clr r13 1222 .LVL100: 1223 0710 00C0 rjmp .L79 1224 .L80: 1225 .LM119: 1226 0712 C401 movw r24,r8 1227 0714 B701 movw r22,r14 1228 0716 A801 movw r20,r16 1229 0718 0E94 0000 call getvoxel 1230 071c 282F mov r18,r24 1231 .LM120: 1232 071e C601 movw r24,r12 1233 0720 B701 movw r22,r14 1234 0722 A801 movw r20,r16 1235 0724 30E0 ldi r19,lo8(0) 1236 0726 0E94 0000 call altervoxel 1237 .LM121: 1238 072a 0F5F subi r16,lo8(-(1)) 1239 072c 1F4F sbci r17,hi8(-(1)) 1240 072e 0830 cpi r16,8 1241 0730 1105 cpc r17,__zero_reg__ 1242 0732 01F4 brne .L80 1243 .LM122: 1244 0734 0894 sec 1245 0736 E11C adc r14,__zero_reg__ 1246 0738 F11C adc r15,__zero_reg__ 1247 073a F8E0 ldi r31,lo8(8) 1248 073c EF16 cp r14,r31 1249 073e F104 cpc r15,__zero_reg__ 1250 0740 01F0 breq .L81 1251 .L83: 1252 0742 00E0 ldi r16,lo8(0) 1253 0744 10E0 ldi r17,hi8(0) 1254 0746 00C0 rjmp .L80 1255 .L81: 1256 0748 6401 movw r12,r8 1257 .LM123: 1258 074a 87E0 ldi r24,lo8(7) 1259 074c 8816 cp r8,r24 1260 074e 9104 cpc r9,__zero_reg__ 1261 0750 01F4 brne .L79 1262 .LVL101: 1263 0752 EE24 clr r14 1264 0754 FF24 clr r15 1265 .LVL102: 1266 0756 00C0 rjmp .L82 1267 .LVL103: 1268 .L79: 1269 0758 EE24 clr r14 1270 075a FF24 clr r15 1271 .LM124: 1272 075c 4601 movw r8,r12 1273 075e 0894 sec 1274 0760 811C adc r8,__zero_reg__ 1275 0762 911C adc r9,__zero_reg__ 1276 0764 00C0 rjmp .L83 1277 .LVL104: 1278 .L84: 1279 .LM125: 1280 0766 87E0 ldi r24,lo8(7) 1281 0768 90E0 ldi r25,hi8(7) 1282 076a B701 movw r22,r14 1283 076c A801 movw r20,r16 1284 076e 0E94 0000 call clrvoxel 1285 .LM126: 1286 0772 0F5F subi r16,lo8(-(1)) 1287 0774 1F4F sbci r17,hi8(-(1)) 1288 0776 0830 cpi r16,8 1289 0778 1105 cpc r17,__zero_reg__ 1290 077a 01F4 brne .L84 1291 .LM127: 1292 077c 0894 sec 1293 077e E11C adc r14,__zero_reg__ 1294 0780 F11C adc r15,__zero_reg__ 1295 0782 E8E0 ldi r30,lo8(8) 1296 0784 EE16 cp r14,r30 1297 0786 F104 cpc r15,__zero_reg__ 1298 0788 01F0 breq .L85 1299 .L82: 1300 078a 00E0 ldi r16,lo8(0) 1301 078c 10E0 ldi r17,hi8(0) 1302 078e 00C0 rjmp .L84 1303 .L85: 1304 .LM128: 1305 0790 0894 sec 1306 0792 A11C adc r10,__zero_reg__ 1307 0794 B11C adc r11,__zero_reg__ 1308 0796 F8E0 ldi r31,lo8(8) 1309 0798 AF16 cp r10,r31 1310 079a B104 cpc r11,__zero_reg__ 1311 079c 01F0 breq .+2 1312 079e 00C0 rjmp .L86 1313 /* epilogue start */ 1314 .LM129: 1315 07a0 0F90 pop __tmp_reg__ 1316 07a2 0F90 pop __tmp_reg__ 1317 07a4 0F90 pop __tmp_reg__ 1318 07a6 0F90 pop __tmp_reg__ 1319 07a8 0F90 pop __tmp_reg__ 1320 07aa CF91 pop r28 1321 07ac DF91 pop r29 1322 07ae 1F91 pop r17 1323 07b0 0F91 pop r16 1324 .LVL105: 1325 07b2 FF90 pop r15 1326 07b4 EF90 pop r14 1327 .LVL106: 1328 07b6 DF90 pop r13 1329 07b8 CF90 pop r12 1330 07ba BF90 pop r11 1331 07bc AF90 pop r10 1332 .LVL107: 1333 07be 9F90 pop r9 1334 07c0 8F90 pop r8 1335 .LVL108: 1336 07c2 7F90 pop r7 1337 07c4 6F90 pop r6 1338 .LVL109: 1339 07c6 5F90 pop r5 1340 07c8 4F90 pop r4 1341 07ca 3F90 pop r3 1342 07cc 2F90 pop r2 1343 07ce 0895 ret 1344 .LFE5: 1346 .global effect_smileyspin 1348 effect_smileyspin: 1349 .LFB27: 1350 .LM130: 1351 .LVL110: 1352 07d0 2F92 push r2 1353 07d2 3F92 push r3 1354 07d4 4F92 push r4 1355 07d6 5F92 push r5 1356 07d8 6F92 push r6 1357 07da 7F92 push r7 1358 07dc 8F92 push r8 1359 07de 9F92 push r9 1360 07e0 AF92 push r10 1361 07e2 BF92 push r11 1362 07e4 CF92 push r12 1363 07e6 DF92 push r13 1364 07e8 EF92 push r14 1365 07ea FF92 push r15 1366 07ec 0F93 push r16 1367 07ee 1F93 push r17 1368 07f0 DF93 push r29 1369 07f2 CF93 push r28 1370 07f4 CDB7 in r28,__SP_L__ 1371 07f6 DEB7 in r29,__SP_H__ 1372 07f8 EC97 sbiw r28,60 1373 07fa 0FB6 in __tmp_reg__,__SREG__ 1374 07fc F894 cli 1375 07fe DEBF out __SP_H__,r29 1376 0800 0FBE out __SREG__,__tmp_reg__ 1377 0802 CDBF out __SP_L__,r28 1378 /* prologue: function */ 1379 /* frame size = 60 */ 1380 0804 9FA7 std Y+47,r25 1381 0806 8EA7 std Y+46,r24 1382 0808 69AB std Y+49,r22 1383 080a 7AAB std Y+50,r23 1384 .LVL111: 1385 080c 48AB std Y+48,r20 1386 .LM131: 1387 080e DE01 movw r26,r28 1388 0810 1196 adiw r26,1 1389 0812 E0E0 ldi r30,lo8(C.30.2453) 1390 0814 F0E0 ldi r31,hi8(C.30.2453) 1391 0816 80E2 ldi r24,lo8(32) 1392 .LVL112: 1393 .L98: 1394 0818 0190 ld r0,Z+ 1395 081a 0D92 st X+,r0 1396 081c 8150 subi r24,lo8(-(-1)) 1397 081e 01F4 brne .L98 1398 0820 1DA6 std Y+45,__zero_reg__ 1399 0822 1CA6 std Y+44,__zero_reg__ 1400 .LVL113: 1401 .LBB2: 1402 .LBB3: 1403 .LM132: 1404 0824 9E01 movw r18,r28 1405 0826 2F5F subi r18,lo8(-(1)) 1406 0828 3F4F sbci r19,hi8(-(1)) 1407 082a 3CAF std Y+60,r19 1408 082c 2BAF std Y+59,r18 1409 082e 00C0 rjmp .L99 1410 .LVL114: 1411 .L132: 1412 .LBE3: 1413 .LBE2: 1414 .LM133: 1415 0830 2224 clr r2 1416 0832 3324 clr r3 1417 .LVL115: 1418 0834 8824 clr r8 1419 0836 9924 clr r9 1420 .LVL116: 1421 0838 4424 clr r4 1422 083a 5524 clr r5 1423 .LVL117: 1424 .L107: 1425 083c C401 movw r24,r8 1426 083e 0196 adiw r24,1 1427 .LVL118: 1428 .LBB8: 1429 .LBB4: 1430 .LM134: 1431 0840 2114 cp r2,__zero_reg__ 1432 0842 3104 cpc r3,__zero_reg__ 1433 0844 01F4 brne .L100 1434 .LM135: 1435 0846 4C01 movw r8,r24 1436 .LM136: 1437 0848 8430 cpi r24,4 1438 084a 9105 cpc r25,__zero_reg__ 1439 084c 01F4 brne .L101 1440 084e 71E0 ldi r23,lo8(1) 1441 0850 272E mov r2,r23 1442 0852 312C mov r3,__zero_reg__ 1443 .LVL119: 1444 0854 8824 clr r8 1445 0856 9924 clr r9 1446 .LVL120: 1447 0858 00C0 rjmp .L101 1448 .LVL121: 1449 .L100: 1450 .LM137: 1451 085a 4C01 movw r8,r24 1452 .LVL122: 1453 .L101: 1454 .LM138: 1455 085c C401 movw r24,r8 1456 085e 63E0 ldi r22,3 1457 0860 880F 1: lsl r24 1458 0862 991F rol r25 1459 0864 6A95 dec r22 1460 0866 01F4 brne 1b 1461 .LVL123: 1462 .LM139: 1463 0868 6BAC ldd r6,Y+59 1464 086a 7CAC ldd r7,Y+60 1465 086c 681A sub r6,r24 1466 086e 790A sbc r7,r25 1467 0870 AA24 clr r10 1468 0872 BB24 clr r11 1469 0874 E7E0 ldi r30,lo8(7) 1470 0876 EFA3 std Y+39,r30 1471 .LM140: 1472 0878 2FE1 ldi r18,lo8(31) 1473 087a 30E0 ldi r19,hi8(31) 1474 087c 620E add r6,r18 1475 087e 731E adc r7,r19 1476 0880 E1E0 ldi r30,lo8(1) 1477 0882 F0E0 ldi r31,hi8(1) 1478 0884 EC0F add r30,r28 1479 0886 FD1F adc r31,r29 1480 0888 E80F add r30,r24 1481 088a F91F adc r31,r25 1482 088c FAAF std Y+58,r31 1483 088e E9AF std Y+57,r30 1484 0890 00C0 rjmp .L102 1485 .L105: 1486 .LM141: 1487 0892 88A9 ldd r24,Y+48 1488 0894 6FA1 ldd r22,Y+39 1489 0896 402F mov r20,r16 1490 0898 0E94 0000 call font_getbitmappixel 1491 .LVL124: 1492 089c 8823 tst r24 1493 089e 01F0 breq .L103 1494 .LM142: 1495 08a0 2114 cp r2,__zero_reg__ 1496 08a2 3104 cpc r3,__zero_reg__ 1497 08a4 01F4 brne .L104 1498 .LM143: 1499 08a6 F701 movw r30,r14 1500 08a8 00C0 rjmp .L143 1501 .L104: 1502 .LM144: 1503 08aa F601 movw r30,r12 1504 .L143: 1505 08ac 6081 ld r22,Z 1506 08ae C801 movw r24,r16 1507 08b0 70E0 ldi r23,lo8(0) 1508 08b2 A501 movw r20,r10 1509 08b4 0E94 0000 call setvoxel 1510 .L103: 1511 .LM145: 1512 08b8 0F5F subi r16,lo8(-(1)) 1513 08ba 1F4F sbci r17,hi8(-(1)) 1514 08bc 0894 sec 1515 08be C108 sbc r12,__zero_reg__ 1516 08c0 D108 sbc r13,__zero_reg__ 1517 08c2 0894 sec 1518 08c4 E11C adc r14,__zero_reg__ 1519 08c6 F11C adc r15,__zero_reg__ 1520 08c8 0830 cpi r16,8 1521 08ca 1105 cpc r17,__zero_reg__ 1522 08cc 01F4 brne .L105 1523 .LM146: 1524 08ce 0894 sec 1525 08d0 A11C adc r10,__zero_reg__ 1526 08d2 B11C adc r11,__zero_reg__ 1527 08d4 FFA1 ldd r31,Y+39 1528 08d6 F150 subi r31,lo8(-(-1)) 1529 08d8 FFA3 std Y+39,r31 1530 08da FF3F cpi r31,lo8(-1) 1531 08dc 01F0 breq .L106 1532 .LVL125: 1533 .L102: 1534 08de 6301 movw r12,r6 1535 08e0 E9AC ldd r14,Y+57 1536 08e2 FAAC ldd r15,Y+58 1537 08e4 00E0 ldi r16,lo8(0) 1538 08e6 10E0 ldi r17,hi8(0) 1539 08e8 00C0 rjmp .L105 1540 .LVL126: 1541 .L106: 1542 .LM147: 1543 08ea 89A9 ldd r24,Y+49 1544 08ec 9AA9 ldd r25,Y+50 1545 08ee 0E94 0000 call delay_ms 1546 .LM148: 1547 08f2 80E0 ldi r24,lo8(0) 1548 08f4 0E94 0000 call fill 1549 .LM149: 1550 08f8 0894 sec 1551 08fa 411C adc r4,__zero_reg__ 1552 08fc 511C adc r5,__zero_reg__ 1553 08fe 27E0 ldi r18,lo8(7) 1554 0900 4216 cp r4,r18 1555 0902 5104 cpc r5,__zero_reg__ 1556 0904 01F0 breq .+2 1557 0906 00C0 rjmp .L107 1558 0908 1EA2 std Y+38,__zero_reg__ 1559 090a 1DA2 std Y+37,__zero_reg__ 1560 .LVL127: 1561 090c 6624 clr r6 1562 090e 7724 clr r7 1563 .LVL128: 1564 0910 2224 clr r2 1565 0912 3324 clr r3 1566 .LVL129: 1567 .L115: 1568 0914 C301 movw r24,r6 1569 0916 0196 adiw r24,1 1570 .LVL130: 1571 .LBE4: 1572 .LBB5: 1573 .LM150: 1574 0918 EDA1 ldd r30,Y+37 1575 091a FEA1 ldd r31,Y+38 1576 091c EF2B or r30,r31 1577 091e 01F4 brne .L108 1578 .LM151: 1579 0920 3C01 movw r6,r24 1580 .LM152: 1581 0922 8430 cpi r24,4 1582 0924 9105 cpc r25,__zero_reg__ 1583 0926 01F4 brne .L109 1584 0928 21E0 ldi r18,lo8(1) 1585 092a 30E0 ldi r19,hi8(1) 1586 092c 3EA3 std Y+38,r19 1587 092e 2DA3 std Y+37,r18 1588 .LVL131: 1589 0930 6624 clr r6 1590 0932 7724 clr r7 1591 .LVL132: 1592 0934 00C0 rjmp .L109 1593 .LVL133: 1594 .L108: 1595 .LM153: 1596 0936 3C01 movw r6,r24 1597 .LVL134: 1598 .L109: 1599 .LM154: 1600 0938 C301 movw r24,r6 1601 093a 53E0 ldi r21,3 1602 093c 880F 1: lsl r24 1603 093e 991F rol r25 1604 0940 5A95 dec r21 1605 0942 01F4 brne 1b 1606 .LM155: 1607 0944 4BAC ldd r4,Y+59 1608 0946 5CAC ldd r5,Y+60 1609 .LVL135: 1610 0948 481A sub r4,r24 1611 094a 590A sbc r5,r25 1612 094c 8824 clr r8 1613 094e 9924 clr r9 1614 0950 37E0 ldi r19,lo8(7) 1615 0952 38A7 std Y+40,r19 1616 .LM156: 1617 0954 EFE1 ldi r30,lo8(31) 1618 0956 F0E0 ldi r31,hi8(31) 1619 0958 4E0E add r4,r30 1620 095a 5F1E adc r5,r31 1621 095c 21E0 ldi r18,lo8(1) 1622 095e 30E0 ldi r19,hi8(1) 1623 0960 2C0F add r18,r28 1624 0962 3D1F adc r19,r29 1625 0964 280F add r18,r24 1626 0966 391F adc r19,r25 1627 0968 38AF std Y+56,r19 1628 096a 2FAB std Y+55,r18 1629 096c 00C0 rjmp .L110 1630 .LVL136: 1631 .L113: 1632 .LM157: 1633 096e 4E2D mov r20,r14 1634 0970 4150 subi r20,lo8(-(-1)) 1635 0972 88A9 ldd r24,Y+48 1636 0974 68A5 ldd r22,Y+40 1637 0976 0E94 0000 call font_getbitmappixel 1638 097a 8823 tst r24 1639 097c 01F0 breq .L111 1640 .LM158: 1641 097e 8DA1 ldd r24,Y+37 1642 0980 9EA1 ldd r25,Y+38 1643 0982 892B or r24,r25 1644 0984 01F4 brne .L112 1645 .LM159: 1646 0986 F601 movw r30,r12 1647 0988 00C0 rjmp .L144 1648 .L112: 1649 .LM160: 1650 098a F501 movw r30,r10 1651 .L144: 1652 098c 8081 ld r24,Z 1653 098e 90E0 ldi r25,lo8(0) 1654 0990 B801 movw r22,r16 1655 0992 A401 movw r20,r8 1656 0994 0E94 0000 call setvoxel 1657 .L111: 1658 0998 0894 sec 1659 099a E11C adc r14,__zero_reg__ 1660 099c F11C adc r15,__zero_reg__ 1661 099e 0150 subi r16,lo8(-(-1)) 1662 09a0 1040 sbci r17,hi8(-(-1)) 1663 09a2 0894 sec 1664 09a4 A108 sbc r10,__zero_reg__ 1665 09a6 B108 sbc r11,__zero_reg__ 1666 09a8 0894 sec 1667 09aa C11C adc r12,__zero_reg__ 1668 09ac D11C adc r13,__zero_reg__ 1669 .LM161: 1670 09ae F9E0 ldi r31,lo8(9) 1671 09b0 EF16 cp r14,r31 1672 09b2 F104 cpc r15,__zero_reg__ 1673 09b4 01F4 brne .L113 1674 .LM162: 1675 09b6 0894 sec 1676 09b8 811C adc r8,__zero_reg__ 1677 09ba 911C adc r9,__zero_reg__ 1678 09bc 28A5 ldd r18,Y+40 1679 09be 2150 subi r18,lo8(-(-1)) 1680 09c0 28A7 std Y+40,r18 1681 09c2 2F3F cpi r18,lo8(-1) 1682 09c4 01F0 breq .L114 1683 .LVL137: 1684 .L110: 1685 09c6 5201 movw r10,r4 1686 09c8 CFA8 ldd r12,Y+55 1687 09ca D8AC ldd r13,Y+56 1688 09cc 41E0 ldi r20,lo8(1) 1689 09ce E42E mov r14,r20 1690 09d0 F12C mov r15,__zero_reg__ 1691 09d2 07E0 ldi r16,lo8(7) 1692 09d4 10E0 ldi r17,hi8(7) 1693 .LVL138: 1694 09d6 00C0 rjmp .L113 1695 .L114: 1696 .LM163: 1697 09d8 89A9 ldd r24,Y+49 1698 09da 9AA9 ldd r25,Y+50 1699 09dc 0E94 0000 call delay_ms 1700 .LM164: 1701 09e0 80E0 ldi r24,lo8(0) 1702 09e2 0E94 0000 call fill 1703 .LM165: 1704 09e6 0894 sec 1705 09e8 211C adc r2,__zero_reg__ 1706 09ea 311C adc r3,__zero_reg__ 1707 09ec 37E0 ldi r19,lo8(7) 1708 09ee 2316 cp r2,r19 1709 09f0 3104 cpc r3,__zero_reg__ 1710 09f2 01F0 breq .+2 1711 09f4 00C0 rjmp .L115 1712 09f6 1CA2 std Y+36,__zero_reg__ 1713 09f8 1BA2 std Y+35,__zero_reg__ 1714 .LVL139: 1715 09fa 6624 clr r6 1716 09fc 7724 clr r7 1717 .LVL140: 1718 09fe 1BA6 std Y+43,__zero_reg__ 1719 0a00 1AA6 std Y+42,__zero_reg__ 1720 .LVL141: 1721 .L123: 1722 0a02 C301 movw r24,r6 1723 0a04 0196 adiw r24,1 1724 .LVL142: 1725 .LBE5: 1726 .LBB6: 1727 .LM166: 1728 0a06 EBA1 ldd r30,Y+35 1729 0a08 FCA1 ldd r31,Y+36 1730 0a0a EF2B or r30,r31 1731 0a0c 01F4 brne .L116 1732 .LM167: 1733 0a0e 3C01 movw r6,r24 1734 .LM168: 1735 0a10 8430 cpi r24,4 1736 0a12 9105 cpc r25,__zero_reg__ 1737 0a14 01F4 brne .L117 1738 0a16 21E0 ldi r18,lo8(1) 1739 0a18 30E0 ldi r19,hi8(1) 1740 0a1a 3CA3 std Y+36,r19 1741 0a1c 2BA3 std Y+35,r18 1742 .LVL143: 1743 0a1e 6624 clr r6 1744 0a20 7724 clr r7 1745 .LVL144: 1746 0a22 00C0 rjmp .L117 1747 .LVL145: 1748 .L116: 1749 .LM169: 1750 0a24 3C01 movw r6,r24 1751 .LVL146: 1752 .L117: 1753 .LM170: 1754 0a26 C301 movw r24,r6 1755 0a28 33E0 ldi r19,3 1756 0a2a 880F 1: lsl r24 1757 0a2c 991F rol r25 1758 0a2e 3A95 dec r19 1759 0a30 01F4 brne 1b 1760 .LM171: 1761 0a32 4BAC ldd r4,Y+59 1762 0a34 5CAC ldd r5,Y+60 1763 0a36 481A sub r4,r24 1764 0a38 590A sbc r5,r25 1765 0a3a AA24 clr r10 1766 0a3c BB24 clr r11 1767 .LVL147: 1768 0a3e 27E0 ldi r18,lo8(7) 1769 0a40 222E mov r2,r18 1770 .LVL148: 1771 .LM172: 1772 0a42 EFE1 ldi r30,lo8(31) 1773 0a44 F0E0 ldi r31,hi8(31) 1774 0a46 4E0E add r4,r30 1775 0a48 5F1E adc r5,r31 1776 0a4a 21E0 ldi r18,lo8(1) 1777 0a4c 30E0 ldi r19,hi8(1) 1778 0a4e 2C0F add r18,r28 1779 0a50 3D1F adc r19,r29 1780 0a52 280F add r18,r24 1781 0a54 391F adc r19,r25 1782 0a56 3EAB std Y+54,r19 1783 0a58 2DAB std Y+53,r18 1784 0a5a 00C0 rjmp .L118 1785 .L121: 1786 .LM173: 1787 0a5c 4801 movw r8,r16 1788 0a5e 0894 sec 1789 0a60 8108 sbc r8,__zero_reg__ 1790 0a62 9108 sbc r9,__zero_reg__ 1791 .LM174: 1792 0a64 88A9 ldd r24,Y+48 1793 0a66 622D mov r22,r2 1794 0a68 432D mov r20,r3 1795 0a6a 0E94 0000 call font_getbitmappixel 1796 0a6e 8823 tst r24 1797 0a70 01F0 breq .L119 1798 .LM175: 1799 0a72 8BA1 ldd r24,Y+35 1800 0a74 9CA1 ldd r25,Y+36 1801 0a76 892B or r24,r25 1802 0a78 01F4 brne .L120 1803 .LM176: 1804 0a7a F701 movw r30,r14 1805 0a7c 00C0 rjmp .L145 1806 .L120: 1807 .LM177: 1808 0a7e F601 movw r30,r12 1809 .L145: 1810 0a80 6081 ld r22,Z 1811 0a82 C401 movw r24,r8 1812 0a84 70E0 ldi r23,lo8(0) 1813 0a86 A501 movw r20,r10 1814 0a88 0E94 0000 call setvoxel 1815 .L119: 1816 0a8c 0F5F subi r16,lo8(-(1)) 1817 0a8e 1F4F sbci r17,hi8(-(1)) 1818 0a90 3A94 dec r3 1819 0a92 0894 sec 1820 0a94 C108 sbc r12,__zero_reg__ 1821 0a96 D108 sbc r13,__zero_reg__ 1822 0a98 0894 sec 1823 0a9a E11C adc r14,__zero_reg__ 1824 0a9c F11C adc r15,__zero_reg__ 1825 .LM178: 1826 0a9e FFEF ldi r31,lo8(-1) 1827 0aa0 3F16 cp r3,r31 1828 0aa2 01F4 brne .L121 1829 .LM179: 1830 0aa4 0894 sec 1831 0aa6 A11C adc r10,__zero_reg__ 1832 0aa8 B11C adc r11,__zero_reg__ 1833 0aaa 2A94 dec r2 1834 0aac 2F16 cp r2,r31 1835 0aae 01F0 breq .L122 1836 .L118: 1837 0ab0 6201 movw r12,r4 1838 0ab2 EDA8 ldd r14,Y+53 1839 0ab4 FEA8 ldd r15,Y+54 1840 0ab6 01E0 ldi r16,lo8(1) 1841 0ab8 10E0 ldi r17,hi8(1) 1842 0aba 87E0 ldi r24,lo8(7) 1843 0abc 382E mov r3,r24 1844 0abe 00C0 rjmp .L121 1845 .L122: 1846 .LM180: 1847 0ac0 89A9 ldd r24,Y+49 1848 0ac2 9AA9 ldd r25,Y+50 1849 0ac4 0E94 0000 call delay_ms 1850 .LM181: 1851 0ac8 80E0 ldi r24,lo8(0) 1852 0aca 0E94 0000 call fill 1853 .LM182: 1854 0ace 2AA5 ldd r18,Y+42 1855 0ad0 3BA5 ldd r19,Y+43 1856 0ad2 2F5F subi r18,lo8(-(1)) 1857 0ad4 3F4F sbci r19,hi8(-(1)) 1858 0ad6 3BA7 std Y+43,r19 1859 0ad8 2AA7 std Y+42,r18 1860 .LVL149: 1861 0ada 2730 cpi r18,7 1862 0adc 3105 cpc r19,__zero_reg__ 1863 0ade 01F0 breq .+2 1864 0ae0 00C0 rjmp .L123 1865 0ae2 1AA2 std Y+34,__zero_reg__ 1866 0ae4 19A2 std Y+33,__zero_reg__ 1867 .LVL150: 1868 0ae6 6624 clr r6 1869 0ae8 7724 clr r7 1870 .LVL151: 1871 0aea 2224 clr r2 1872 0aec 3324 clr r3 1873 .LVL152: 1874 .L131: 1875 0aee C301 movw r24,r6 1876 0af0 0196 adiw r24,1 1877 .LVL153: 1878 .LBE6: 1879 .LBB7: 1880 .LM183: 1881 0af2 E9A1 ldd r30,Y+33 1882 0af4 FAA1 ldd r31,Y+34 1883 0af6 EF2B or r30,r31 1884 0af8 01F4 brne .L124 1885 .LM184: 1886 0afa 3C01 movw r6,r24 1887 .LM185: 1888 0afc 8430 cpi r24,4 1889 0afe 9105 cpc r25,__zero_reg__ 1890 0b00 01F4 brne .L125 1891 0b02 21E0 ldi r18,lo8(1) 1892 0b04 30E0 ldi r19,hi8(1) 1893 0b06 3AA3 std Y+34,r19 1894 0b08 29A3 std Y+33,r18 1895 .LVL154: 1896 0b0a 6624 clr r6 1897 0b0c 7724 clr r7 1898 .LVL155: 1899 0b0e 00C0 rjmp .L125 1900 .LVL156: 1901 .L124: 1902 .LM186: 1903 0b10 3C01 movw r6,r24 1904 .LVL157: 1905 .L125: 1906 .LM187: 1907 0b12 C301 movw r24,r6 1908 0b14 B3E0 ldi r27,3 1909 0b16 880F 1: lsl r24 1910 0b18 991F rol r25 1911 0b1a BA95 dec r27 1912 0b1c 01F4 brne 1b 1913 .LM188: 1914 0b1e 4BAC ldd r4,Y+59 1915 0b20 5CAC ldd r5,Y+60 1916 0b22 481A sub r4,r24 1917 0b24 590A sbc r5,r25 1918 0b26 8824 clr r8 1919 0b28 9924 clr r9 1920 .LVL158: 1921 0b2a 37E0 ldi r19,lo8(7) 1922 0b2c 39A7 std Y+41,r19 1923 .LM189: 1924 0b2e EFE1 ldi r30,lo8(31) 1925 0b30 F0E0 ldi r31,hi8(31) 1926 0b32 4E0E add r4,r30 1927 0b34 5F1E adc r5,r31 1928 0b36 21E0 ldi r18,lo8(1) 1929 0b38 30E0 ldi r19,hi8(1) 1930 0b3a 2C0F add r18,r28 1931 0b3c 3D1F adc r19,r29 1932 0b3e 280F add r18,r24 1933 0b40 391F adc r19,r25 1934 0b42 3CAB std Y+52,r19 1935 0b44 2BAB std Y+51,r18 1936 0b46 00C0 rjmp .L126 1937 .L129: 1938 .LM190: 1939 0b48 88A9 ldd r24,Y+48 1940 0b4a 69A5 ldd r22,Y+41 1941 0b4c 402F mov r20,r16 1942 0b4e 0E94 0000 call font_getbitmappixel 1943 0b52 8823 tst r24 1944 0b54 01F0 breq .L127 1945 .LM191: 1946 0b56 89A1 ldd r24,Y+33 1947 0b58 9AA1 ldd r25,Y+34 1948 0b5a 892B or r24,r25 1949 0b5c 01F4 brne .L128 1950 .LM192: 1951 0b5e F601 movw r30,r12 1952 0b60 00C0 rjmp .L146 1953 .L128: 1954 .LM193: 1955 0b62 F501 movw r30,r10 1956 .L146: 1957 0b64 8081 ld r24,Z 1958 0b66 90E0 ldi r25,lo8(0) 1959 0b68 B801 movw r22,r16 1960 0b6a A401 movw r20,r8 1961 0b6c 0E94 0000 call setvoxel 1962 .L127: 1963 0b70 0894 sec 1964 0b72 E11C adc r14,__zero_reg__ 1965 0b74 F11C adc r15,__zero_reg__ 1966 0b76 0150 subi r16,lo8(-(-1)) 1967 0b78 1040 sbci r17,hi8(-(-1)) 1968 0b7a 0894 sec 1969 0b7c A108 sbc r10,__zero_reg__ 1970 0b7e B108 sbc r11,__zero_reg__ 1971 0b80 0894 sec 1972 0b82 C11C adc r12,__zero_reg__ 1973 0b84 D11C adc r13,__zero_reg__ 1974 .LM194: 1975 0b86 F9E0 ldi r31,lo8(9) 1976 0b88 EF16 cp r14,r31 1977 0b8a F104 cpc r15,__zero_reg__ 1978 0b8c 01F4 brne .L129 1979 .LM195: 1980 0b8e 0894 sec 1981 0b90 811C adc r8,__zero_reg__ 1982 0b92 911C adc r9,__zero_reg__ 1983 0b94 29A5 ldd r18,Y+41 1984 0b96 2150 subi r18,lo8(-(-1)) 1985 0b98 29A7 std Y+41,r18 1986 0b9a 2F3F cpi r18,lo8(-1) 1987 0b9c 01F0 breq .L130 1988 .L126: 1989 0b9e 5201 movw r10,r4 1990 0ba0 CBA8 ldd r12,Y+51 1991 0ba2 DCA8 ldd r13,Y+52 1992 0ba4 A1E0 ldi r26,lo8(1) 1993 0ba6 EA2E mov r14,r26 1994 0ba8 F12C mov r15,__zero_reg__ 1995 0baa 07E0 ldi r16,lo8(7) 1996 0bac 10E0 ldi r17,hi8(7) 1997 0bae 00C0 rjmp .L129 1998 .L130: 1999 .LM196: 2000 0bb0 89A9 ldd r24,Y+49 2001 0bb2 9AA9 ldd r25,Y+50 2002 0bb4 0E94 0000 call delay_ms 2003 .LM197: 2004 0bb8 80E0 ldi r24,lo8(0) 2005 0bba 0E94 0000 call fill 2006 .LM198: 2007 0bbe 0894 sec 2008 0bc0 211C adc r2,__zero_reg__ 2009 0bc2 311C adc r3,__zero_reg__ 2010 0bc4 37E0 ldi r19,lo8(7) 2011 0bc6 2316 cp r2,r19 2012 0bc8 3104 cpc r3,__zero_reg__ 2013 0bca 01F0 breq .+2 2014 0bcc 00C0 rjmp .L131 2015 .LBE7: 2016 .LM199: 2017 0bce 8CA5 ldd r24,Y+44 2018 0bd0 9DA5 ldd r25,Y+45 2019 0bd2 0196 adiw r24,1 2020 0bd4 9DA7 std Y+45,r25 2021 0bd6 8CA7 std Y+44,r24 2022 .LVL159: 2023 .L99: 2024 0bd8 ECA5 ldd r30,Y+44 2025 0bda FDA5 ldd r31,Y+45 2026 0bdc 2EA5 ldd r18,Y+46 2027 0bde 3FA5 ldd r19,Y+47 2028 0be0 E217 cp r30,r18 2029 0be2 F307 cpc r31,r19 2030 0be4 04F4 brge .+2 2031 0be6 00C0 rjmp .L132 2032 /* epilogue start */ 2033 .LBE8: 2034 .LM200: 2035 0be8 EC96 adiw r28,60 2036 0bea 0FB6 in __tmp_reg__,__SREG__ 2037 0bec F894 cli 2038 0bee DEBF out __SP_H__,r29 2039 0bf0 0FBE out __SREG__,__tmp_reg__ 2040 0bf2 CDBF out __SP_L__,r28 2041 0bf4 CF91 pop r28 2042 0bf6 DF91 pop r29 2043 0bf8 1F91 pop r17 2044 0bfa 0F91 pop r16 2045 0bfc FF90 pop r15 2046 0bfe EF90 pop r14 2047 0c00 DF90 pop r13 2048 0c02 CF90 pop r12 2049 0c04 BF90 pop r11 2050 0c06 AF90 pop r10 2051 0c08 9F90 pop r9 2052 0c0a 8F90 pop r8 2053 .LVL160: 2054 0c0c 7F90 pop r7 2055 0c0e 6F90 pop r6 2056 .LVL161: 2057 0c10 5F90 pop r5 2058 0c12 4F90 pop r4 2059 0c14 3F90 pop r3 2060 0c16 2F90 pop r2 2061 .LVL162: 2062 0c18 0895 ret 2063 .LFE27: 2065 .global effect_random_sparkle_flash 2067 effect_random_sparkle_flash: 2068 .LFB22: 2069 .LM201: 2070 .LVL163: 2071 0c1a 6F92 push r6 2072 0c1c 7F92 push r7 2073 0c1e 8F92 push r8 2074 0c20 9F92 push r9 2075 0c22 AF92 push r10 2076 0c24 BF92 push r11 2077 0c26 CF92 push r12 2078 0c28 DF92 push r13 2079 0c2a EF92 push r14 2080 0c2c FF92 push r15 2081 0c2e 0F93 push r16 2082 0c30 1F93 push r17 2083 0c32 CF93 push r28 2084 0c34 DF93 push r29 2085 /* prologue: function */ 2086 /* frame size = 0 */ 2087 0c36 3C01 movw r6,r24 2088 0c38 4B01 movw r8,r22 2089 0c3a 5A01 movw r10,r20 2090 .LM202: 2091 0c3c CC24 clr r12 2092 0c3e DD24 clr r13 2093 .LVL164: 2094 0c40 00C0 rjmp .L148 2095 .LVL165: 2096 .L149: 2097 .LM203: 2098 0c42 0E94 0000 call rand 2099 0c46 8C01 movw r16,r24 2100 0c48 0E94 0000 call rand 2101 0c4c 7C01 movw r14,r24 2102 0c4e 0E94 0000 call rand 2103 0c52 FC01 movw r30,r24 2104 0c54 C801 movw r24,r16 2105 0c56 68E0 ldi r22,lo8(8) 2106 0c58 70E0 ldi r23,hi8(8) 2107 0c5a 0E94 0000 call __divmodhi4 2108 0c5e 8C01 movw r16,r24 2109 0c60 C701 movw r24,r14 2110 0c62 68E0 ldi r22,lo8(8) 2111 0c64 70E0 ldi r23,hi8(8) 2112 0c66 0E94 0000 call __divmodhi4 2113 0c6a 9C01 movw r18,r24 2114 0c6c CF01 movw r24,r30 2115 0c6e 68E0 ldi r22,lo8(8) 2116 0c70 70E0 ldi r23,hi8(8) 2117 0c72 0E94 0000 call __divmodhi4 2118 0c76 AC01 movw r20,r24 2119 0c78 C801 movw r24,r16 2120 0c7a B901 movw r22,r18 2121 0c7c 0E94 0000 call setvoxel 2122 .LM204: 2123 0c80 2196 adiw r28,1 2124 .LVL166: 2125 .L151: 2126 0c82 8C16 cp r8,r28 2127 0c84 9D06 cpc r9,r29 2128 0c86 04F4 brge .L149 2129 .LM205: 2130 0c88 C501 movw r24,r10 2131 0c8a 0E94 0000 call delay_ms 2132 .LM206: 2133 0c8e 80E0 ldi r24,lo8(0) 2134 0c90 0E94 0000 call fill 2135 .LM207: 2136 0c94 0894 sec 2137 0c96 C11C adc r12,__zero_reg__ 2138 0c98 D11C adc r13,__zero_reg__ 2139 .LVL167: 2140 .L148: 2141 0c9a C614 cp r12,r6 2142 0c9c D704 cpc r13,r7 2143 0c9e 04F4 brge .L152 2144 0ca0 C0E0 ldi r28,lo8(0) 2145 0ca2 D0E0 ldi r29,hi8(0) 2146 0ca4 00C0 rjmp .L151 2147 .L152: 2148 /* epilogue start */ 2149 .LM208: 2150 0ca6 DF91 pop r29 2151 0ca8 CF91 pop r28 2152 .LVL168: 2153 0caa 1F91 pop r17 2154 0cac 0F91 pop r16 2155 0cae FF90 pop r15 2156 0cb0 EF90 pop r14 2157 0cb2 DF90 pop r13 2158 0cb4 CF90 pop r12 2159 .LVL169: 2160 0cb6 BF90 pop r11 2161 0cb8 AF90 pop r10 2162 .LVL170: 2163 0cba 9F90 pop r9 2164 0cbc 8F90 pop r8 2165 .LVL171: 2166 0cbe 7F90 pop r7 2167 0cc0 6F90 pop r6 2168 .LVL172: 2169 0cc2 0895 ret 2170 .LFE22: 2172 .global effect_random_sparkle 2174 effect_random_sparkle: 2175 .LFB23: 2176 .LM209: 2177 0cc4 CF93 push r28 2178 0cc6 DF93 push r29 2179 /* prologue: function */ 2180 /* frame size = 0 */ 2181 .LM210: 2182 0cc8 C1E0 ldi r28,lo8(1) 2183 0cca D0E0 ldi r29,hi8(1) 2184 .LVL173: 2185 .L154: 2186 .LM211: 2187 0ccc 85E0 ldi r24,lo8(5) 2188 0cce 90E0 ldi r25,hi8(5) 2189 0cd0 BE01 movw r22,r28 2190 0cd2 48EC ldi r20,lo8(200) 2191 0cd4 50E0 ldi r21,hi8(200) 2192 0cd6 0E94 0000 call effect_random_sparkle_flash 2193 .LM212: 2194 0cda 2196 adiw r28,1 2195 0cdc C431 cpi r28,20 2196 0cde D105 cpc r29,__zero_reg__ 2197 0ce0 01F4 brne .L154 2198 .L157: 2199 .LM213: 2200 0ce2 85E0 ldi r24,lo8(5) 2201 0ce4 90E0 ldi r25,hi8(5) 2202 0ce6 BE01 movw r22,r28 2203 0ce8 48EC ldi r20,lo8(200) 2204 0cea 50E0 ldi r21,hi8(200) 2205 0cec 0E94 0000 call effect_random_sparkle_flash 2206 .LM214: 2207 0cf0 2197 sbiw r28,1 2208 0cf2 01F4 brne .L157 2209 /* epilogue start */ 2210 .LM215: 2211 0cf4 DF91 pop r29 2212 0cf6 CF91 pop r28 2213 .LVL174: 2214 0cf8 0895 ret 2215 .LFE23: 2217 .global effect_loadbar 2219 effect_loadbar: 2220 .LFB21: 2221 .LM216: 2222 .LVL175: 2223 0cfa DF92 push r13 2224 0cfc EF92 push r14 2225 0cfe FF92 push r15 2226 0d00 0F93 push r16 2227 0d02 1F93 push r17 2228 0d04 CF93 push r28 2229 0d06 DF93 push r29 2230 /* prologue: function */ 2231 /* frame size = 0 */ 2232 0d08 8C01 movw r16,r24 2233 .LM217: 2234 0d0a 80E0 ldi r24,lo8(0) 2235 .LVL176: 2236 0d0c 0E94 0000 call fill 2237 0d10 C0E0 ldi r28,lo8(0) 2238 0d12 D0E0 ldi r29,hi8(0) 2239 .LVL177: 2240 .LM218: 2241 0d14 DD24 clr r13 2242 0d16 DA94 dec r13 2243 .LM219: 2244 0d18 7801 movw r14,r16 2245 .LVL178: 2246 0d1a 00C0 rjmp .L161 2247 .LVL179: 2248 .L162: 2249 .LM220: 2250 0d1c F901 movw r30,r18 2251 0d1e E80F add r30,r24 2252 0d20 F91F adc r31,r25 2253 0d22 E050 subi r30,lo8(-(cube)) 2254 0d24 F040 sbci r31,hi8(-(cube)) 2255 0d26 D082 st Z,r13 2256 .LM221: 2257 0d28 0196 adiw r24,1 2258 0d2a 8830 cpi r24,8 2259 0d2c 9105 cpc r25,__zero_reg__ 2260 0d2e 01F4 brne .L162 2261 .LM222: 2262 0d30 C701 movw r24,r14 2263 .LVL180: 2264 0d32 0E94 0000 call delay_ms 2265 .LM223: 2266 0d36 2196 adiw r28,1 2267 0d38 C830 cpi r28,8 2268 0d3a D105 cpc r29,__zero_reg__ 2269 0d3c 01F0 breq .L163 2270 .L161: 2271 0d3e 80E0 ldi r24,lo8(0) 2272 0d40 90E0 ldi r25,hi8(0) 2273 .LVL181: 2274 .LM224: 2275 0d42 9E01 movw r18,r28 2276 0d44 A3E0 ldi r26,3 2277 0d46 220F 1: lsl r18 2278 0d48 331F rol r19 2279 0d4a AA95 dec r26 2280 0d4c 01F4 brne 1b 2281 0d4e 00C0 rjmp .L162 2282 .LVL182: 2283 .L163: 2284 .LM225: 2285 0d50 C801 movw r24,r16 2286 .LVL183: 2287 0d52 880F lsl r24 2288 0d54 991F rol r25 2289 0d56 800F add r24,r16 2290 0d58 911F adc r25,r17 2291 0d5a 0E94 0000 call delay_ms 2292 0d5e C0E0 ldi r28,lo8(0) 2293 0d60 D0E0 ldi r29,hi8(0) 2294 .LVL184: 2295 0d62 00C0 rjmp .L164 2296 .LVL185: 2297 .L165: 2298 .LM226: 2299 0d64 F901 movw r30,r18 2300 0d66 E80F add r30,r24 2301 0d68 F91F adc r31,r25 2302 0d6a E050 subi r30,lo8(-(cube)) 2303 0d6c F040 sbci r31,hi8(-(cube)) 2304 0d6e 1082 st Z,__zero_reg__ 2305 .LM227: 2306 0d70 0196 adiw r24,1 2307 0d72 8830 cpi r24,8 2308 0d74 9105 cpc r25,__zero_reg__ 2309 0d76 01F4 brne .L165 2310 .LM228: 2311 0d78 C701 movw r24,r14 2312 .LVL186: 2313 0d7a 0E94 0000 call delay_ms 2314 .LM229: 2315 0d7e 2196 adiw r28,1 2316 0d80 C830 cpi r28,8 2317 0d82 D105 cpc r29,__zero_reg__ 2318 0d84 01F0 breq .L167 2319 .L164: 2320 0d86 80E0 ldi r24,lo8(0) 2321 0d88 90E0 ldi r25,hi8(0) 2322 .LVL187: 2323 .LM230: 2324 0d8a 9E01 movw r18,r28 2325 0d8c E3E0 ldi r30,3 2326 0d8e 220F 1: lsl r18 2327 0d90 331F rol r19 2328 0d92 EA95 dec r30 2329 0d94 01F4 brne 1b 2330 0d96 00C0 rjmp .L165 2331 .LVL188: 2332 .L167: 2333 /* epilogue start */ 2334 .LM231: 2335 0d98 DF91 pop r29 2336 0d9a CF91 pop r28 2337 .LVL189: 2338 0d9c 1F91 pop r17 2339 0d9e 0F91 pop r16 2340 .LVL190: 2341 0da0 FF90 pop r15 2342 0da2 EF90 pop r14 2343 0da4 DF90 pop r13 2344 0da6 0895 ret 2345 .LFE21: 2347 .global draw_positions_axis 2349 draw_positions_axis: 2350 .LFB19: 2351 .LM232: 2352 .LVL191: 2353 0da8 4F92 push r4 2354 0daa 5F92 push r5 2355 0dac 6F92 push r6 2356 0dae 7F92 push r7 2357 0db0 9F92 push r9 2358 0db2 AF92 push r10 2359 0db4 BF92 push r11 2360 0db6 CF92 push r12 2361 0db8 DF92 push r13 2362 0dba EF92 push r14 2363 0dbc FF92 push r15 2364 0dbe 0F93 push r16 2365 0dc0 1F93 push r17 2366 0dc2 CF93 push r28 2367 0dc4 DF93 push r29 2368 /* prologue: function */ 2369 /* frame size = 0 */ 2370 0dc6 982E mov r9,r24 2371 0dc8 162F mov r17,r22 2372 0dca 072F mov r16,r23 2373 .LVL192: 2374 0dcc 3A01 movw r6,r20 2375 .LM233: 2376 0dce 80E0 ldi r24,lo8(0) 2377 .LVL193: 2378 0dd0 0E94 0000 call fill 2379 .LVL194: 2380 0dd4 212F mov r18,r17 2381 0dd6 302F mov r19,r16 2382 0dd8 C901 movw r24,r18 2383 0dda 6C01 movw r12,r24 2384 0ddc C0E0 ldi r28,lo8(0) 2385 0dde D0E0 ldi r29,hi8(0) 2386 .LVL195: 2387 .LM234: 2388 0de0 B7E0 ldi r27,lo8(7) 2389 0de2 4B2E mov r4,r27 2390 0de4 512C mov r5,__zero_reg__ 2391 0de6 00C0 rjmp .L171 2392 .LVL196: 2393 .L177: 2394 .LM235: 2395 0de8 6114 cp r6,__zero_reg__ 2396 0dea 7104 cpc r7,__zero_reg__ 2397 0dec 01F0 breq .L172 2398 .LM236: 2399 0dee F501 movw r30,r10 2400 0df0 8081 ld r24,Z 2401 0df2 A201 movw r20,r4 2402 .LVL197: 2403 0df4 481B sub r20,r24 2404 0df6 5109 sbc r21,__zero_reg__ 2405 0df8 00C0 rjmp .L173 2406 .L172: 2407 .LM237: 2408 0dfa F701 movw r30,r14 2409 0dfc 8081 ld r24,Z 2410 0dfe 482F mov r20,r24 2411 0e00 50E0 ldi r21,lo8(0) 2412 .L173: 2413 .LM238: 2414 0e02 FAE7 ldi r31,lo8(122) 2415 0e04 9F16 cp r9,r31 2416 0e06 01F4 brne .L174 2417 .LM239: 2418 0e08 CE01 movw r24,r28 2419 0e0a B801 movw r22,r16 2420 0e0c 00C0 rjmp .L181 2421 .L174: 2422 .LM240: 2423 0e0e 89E7 ldi r24,lo8(121) 2424 0e10 9816 cp r9,r24 2425 0e12 01F4 brne .L176 2426 .LM241: 2427 0e14 CE01 movw r24,r28 2428 0e16 BA01 movw r22,r20 2429 0e18 A801 movw r20,r16 2430 .LVL198: 2431 0e1a 00C0 rjmp .L181 2432 .LVL199: 2433 .L176: 2434 .LM242: 2435 0e1c 98E7 ldi r25,lo8(120) 2436 0e1e 9916 cp r9,r25 2437 0e20 01F4 brne .L175 2438 .LM243: 2439 0e22 CA01 movw r24,r20 2440 0e24 B801 movw r22,r16 2441 0e26 AE01 movw r20,r28 2442 .LVL200: 2443 .L181: 2444 0e28 0E94 0000 call setvoxel 2445 .LVL201: 2446 .L175: 2447 .LM244: 2448 0e2c 0F5F subi r16,lo8(-(1)) 2449 0e2e 1F4F sbci r17,hi8(-(1)) 2450 0e30 0894 sec 2451 0e32 A11C adc r10,__zero_reg__ 2452 0e34 B11C adc r11,__zero_reg__ 2453 0e36 0894 sec 2454 0e38 E11C adc r14,__zero_reg__ 2455 0e3a F11C adc r15,__zero_reg__ 2456 0e3c 0830 cpi r16,8 2457 0e3e 1105 cpc r17,__zero_reg__ 2458 0e40 01F4 brne .L177 2459 .LM245: 2460 0e42 2196 adiw r28,1 2461 0e44 E8E0 ldi r30,lo8(8) 2462 0e46 F0E0 ldi r31,hi8(8) 2463 0e48 CE0E add r12,r30 2464 0e4a DF1E adc r13,r31 2465 0e4c C830 cpi r28,8 2466 0e4e D105 cpc r29,__zero_reg__ 2467 0e50 01F0 breq .L179 2468 .LVL202: 2469 .L171: 2470 0e52 5601 movw r10,r12 2471 0e54 7601 movw r14,r12 2472 0e56 00E0 ldi r16,lo8(0) 2473 0e58 10E0 ldi r17,hi8(0) 2474 .LVL203: 2475 0e5a 00C0 rjmp .L177 2476 .L179: 2477 /* epilogue start */ 2478 .LM246: 2479 0e5c DF91 pop r29 2480 0e5e CF91 pop r28 2481 .LVL204: 2482 0e60 1F91 pop r17 2483 .LVL205: 2484 0e62 0F91 pop r16 2485 .LVL206: 2486 0e64 FF90 pop r15 2487 0e66 EF90 pop r14 2488 0e68 DF90 pop r13 2489 0e6a CF90 pop r12 2490 0e6c BF90 pop r11 2491 0e6e AF90 pop r10 2492 0e70 9F90 pop r9 2493 .LVL207: 2494 0e72 7F90 pop r7 2495 0e74 6F90 pop r6 2496 .LVL208: 2497 0e76 5F90 pop r5 2498 0e78 4F90 pop r4 2499 0e7a 0895 ret 2500 .LFE19: 2502 .global effect_boxside_randsend_parallel 2504 effect_boxside_randsend_parallel: 2505 .LFB20: 2506 .LM247: 2507 .LVL209: 2508 0e7c 2F92 push r2 2509 0e7e 3F92 push r3 2510 0e80 4F92 push r4 2511 0e82 5F92 push r5 2512 0e84 6F92 push r6 2513 0e86 7F92 push r7 2514 0e88 8F92 push r8 2515 0e8a 9F92 push r9 2516 0e8c AF92 push r10 2517 0e8e BF92 push r11 2518 0e90 CF92 push r12 2519 0e92 DF92 push r13 2520 0e94 EF92 push r14 2521 0e96 FF92 push r15 2522 0e98 0F93 push r16 2523 0e9a 1F93 push r17 2524 0e9c DF93 push r29 2525 0e9e CF93 push r28 2526 0ea0 CDB7 in r28,__SP_L__ 2527 0ea2 DEB7 in r29,__SP_H__ 2528 0ea4 C158 subi r28,lo8(-(-129)) 2529 0ea6 D040 sbci r29,hi8(-(-129)) 2530 0ea8 0FB6 in __tmp_reg__,__SREG__ 2531 0eaa F894 cli 2532 0eac DEBF out __SP_H__,r29 2533 0eae 0FBE out __SREG__,__tmp_reg__ 2534 0eb0 CDBF out __SP_L__,r28 2535 /* prologue: function */ 2536 /* frame size = 129 */ 2537 0eb2 CF57 subi r28,lo8(-129) 2538 0eb4 DF4F sbci r29,hi8(-129) 2539 0eb6 8883 st Y,r24 2540 0eb8 C158 subi r28,lo8(129) 2541 0eba D040 sbci r29,hi8(129) 2542 0ebc 2B01 movw r4,r22 2543 0ebe 3A01 movw r6,r20 2544 0ec0 4901 movw r8,r18 2545 .LM248: 2546 0ec2 01E4 ldi r16,lo8(65) 2547 0ec4 A02E mov r10,r16 2548 0ec6 B12C mov r11,__zero_reg__ 2549 0ec8 AC0E add r10,r28 2550 0eca BD1E adc r11,r29 2551 0ecc F501 movw r30,r10 2552 0ece 11E8 ldi r17,lo8(129) 2553 0ed0 C12E mov r12,r17 2554 0ed2 D12C mov r13,__zero_reg__ 2555 0ed4 CC0E add r12,r28 2556 0ed6 DD1E adc r13,r29 2557 .LVL210: 2558 .L183: 2559 .LM249: 2560 0ed8 1192 st Z+,__zero_reg__ 2561 .LM250: 2562 0eda EC15 cp r30,r12 2563 0edc FD05 cpc r31,r13 2564 0ede 01F4 brne .L183 2565 0ee0 00E0 ldi r16,lo8(0) 2566 0ee2 10E0 ldi r17,hi8(0) 2567 .LVL211: 2568 .LM251: 2569 0ee4 1E01 movw r2,r28 2570 0ee6 0894 sec 2571 0ee8 211C adc r2,__zero_reg__ 2572 0eea 311C adc r3,__zero_reg__ 2573 .LVL212: 2574 .L194: 2575 .LM252: 2576 0eec 81E0 ldi r24,lo8(1) 2577 0eee 8816 cp r8,r24 2578 0ef0 9104 cpc r9,__zero_reg__ 2579 0ef2 01F4 brne .L202 2580 0ef4 00C0 rjmp .L204 2581 .L196: 2582 .LM253: 2583 0ef6 0E94 0000 call rand 2584 0efa 60E4 ldi r22,lo8(64) 2585 0efc 70E0 ldi r23,hi8(64) 2586 0efe 0E94 0000 call __divmodhi4 2587 .LM254: 2588 0f02 E1E4 ldi r30,lo8(65) 2589 0f04 F0E0 ldi r31,hi8(65) 2590 0f06 EC0F add r30,r28 2591 0f08 FD1F adc r31,r29 2592 0f0a E80F add r30,r24 2593 0f0c F91F adc r31,r25 2594 .LVL213: 2595 0f0e 8081 ld r24,Z 2596 .LVL214: 2597 0f10 8823 tst r24 2598 0f12 01F4 brne .L196 2599 .LM255: 2600 0f14 0F5F subi r16,lo8(-(1)) 2601 0f16 1F4F sbci r17,hi8(-(1)) 2602 .LM256: 2603 0f18 91E0 ldi r25,lo8(1) 2604 0f1a 9083 st Z,r25 2605 0f1c 00C0 rjmp .L187 2606 .LVL215: 2607 .L204: 2608 .LM257: 2609 0f1e 0034 cpi r16,64 2610 0f20 1105 cpc r17,__zero_reg__ 2611 0f22 04F0 brlt .L196 2612 0f24 00C0 rjmp .L187 2613 .L202: 2614 .LM258: 2615 0f26 82E0 ldi r24,lo8(2) 2616 0f28 8816 cp r8,r24 2617 0f2a 9104 cpc r9,__zero_reg__ 2618 0f2c 01F4 brne .L187 2619 .LM259: 2620 0f2e 0034 cpi r16,64 2621 0f30 1105 cpc r17,__zero_reg__ 2622 0f32 04F4 brge .L187 2623 .LM260: 2624 0f34 E1E4 ldi r30,lo8(65) 2625 0f36 F0E0 ldi r31,hi8(65) 2626 0f38 EC0F add r30,r28 2627 0f3a FD1F adc r31,r29 2628 0f3c E00F add r30,r16 2629 0f3e F11F adc r31,r17 2630 0f40 8081 ld r24,Z 2631 0f42 8F5F subi r24,lo8(-(1)) 2632 0f44 8083 st Z,r24 2633 .LM261: 2634 0f46 0F5F subi r16,lo8(-(1)) 2635 0f48 1F4F sbci r17,hi8(-(1)) 2636 .L187: 2637 0f4a F501 movw r30,r10 2638 0f4c EE24 clr r14 2639 0f4e FF24 clr r15 2640 .L190: 2641 .LM262: 2642 0f50 9081 ld r25,Z 2643 0f52 892F mov r24,r25 2644 0f54 8150 subi r24,lo8(-(-1)) 2645 0f56 8630 cpi r24,lo8(6) 2646 0f58 00F4 brsh .L188 2647 .LM263: 2648 0f5a 9F5F subi r25,lo8(-(1)) 2649 0f5c 9083 st Z,r25 2650 .L188: 2651 .LM264: 2652 0f5e 8081 ld r24,Z 2653 0f60 8730 cpi r24,lo8(7) 2654 0f62 01F4 brne .L189 2655 .LM265: 2656 0f64 0894 sec 2657 0f66 E11C adc r14,__zero_reg__ 2658 0f68 F11C adc r15,__zero_reg__ 2659 .L189: 2660 0f6a 3196 adiw r30,1 2661 .LM266: 2662 0f6c EC15 cp r30,r12 2663 0f6e FD05 cpc r31,r13 2664 0f70 01F4 brne .L190 2665 0f72 D101 movw r26,r2 2666 0f74 F501 movw r30,r10 2667 .L193: 2668 0f76 8081 ld r24,Z 2669 .LM267: 2670 0f78 4114 cp r4,__zero_reg__ 2671 0f7a 5104 cpc r5,__zero_reg__ 2672 0f7c 01F0 breq .L203 2673 .L191: 2674 .LM268: 2675 0f7e 97E0 ldi r25,lo8(7) 2676 0f80 981B sub r25,r24 2677 0f82 892F mov r24,r25 2678 .L203: 2679 0f84 8C93 st X,r24 2680 0f86 3196 adiw r30,1 2681 0f88 1196 adiw r26,1 2682 .LM269: 2683 0f8a EC15 cp r30,r12 2684 0f8c FD05 cpc r31,r13 2685 0f8e 01F4 brne .L193 2686 .LM270: 2687 0f90 C301 movw r24,r6 2688 0f92 0E94 0000 call delay_ms 2689 .LM271: 2690 0f96 CF57 subi r28,lo8(-129) 2691 0f98 DF4F sbci r29,hi8(-129) 2692 0f9a 8881 ld r24,Y 2693 0f9c C158 subi r28,lo8(129) 2694 0f9e D040 sbci r29,hi8(129) 2695 0fa0 B101 movw r22,r2 2696 0fa2 40E0 ldi r20,lo8(0) 2697 0fa4 50E0 ldi r21,hi8(0) 2698 0fa6 0E94 0000 call draw_positions_axis 2699 .LM272: 2700 0faa 82B3 in r24,50-32 2701 0fac 94E0 ldi r25,lo8(4) 2702 0fae 8927 eor r24,r25 2703 0fb0 82BB out 50-32,r24 2704 .LM273: 2705 0fb2 80E4 ldi r24,lo8(64) 2706 0fb4 E816 cp r14,r24 2707 0fb6 F104 cpc r15,__zero_reg__ 2708 0fb8 01F0 breq .+2 2709 0fba 00C0 rjmp .L194 2710 /* epilogue start */ 2711 .LM274: 2712 0fbc CF57 subi r28,lo8(-(129)) 2713 0fbe DF4F sbci r29,hi8(-(129)) 2714 0fc0 0FB6 in __tmp_reg__,__SREG__ 2715 0fc2 F894 cli 2716 0fc4 DEBF out __SP_H__,r29 2717 0fc6 0FBE out __SREG__,__tmp_reg__ 2718 0fc8 CDBF out __SP_L__,r28 2719 0fca CF91 pop r28 2720 0fcc DF91 pop r29 2721 0fce 1F91 pop r17 2722 0fd0 0F91 pop r16 2723 .LVL216: 2724 0fd2 FF90 pop r15 2725 0fd4 EF90 pop r14 2726 .LVL217: 2727 0fd6 DF90 pop r13 2728 0fd8 CF90 pop r12 2729 0fda BF90 pop r11 2730 0fdc AF90 pop r10 2731 0fde 9F90 pop r9 2732 0fe0 8F90 pop r8 2733 .LVL218: 2734 0fe2 7F90 pop r7 2735 0fe4 6F90 pop r6 2736 .LVL219: 2737 0fe6 5F90 pop r5 2738 0fe8 4F90 pop r4 2739 .LVL220: 2740 0fea 3F90 pop r3 2741 0fec 2F90 pop r2 2742 0fee 0895 ret 2743 .LFE20: 2745 .global effect_axis_updown_randsuspend 2747 effect_axis_updown_randsuspend: 2748 .LFB18: 2749 .LM275: 2750 .LVL221: 2751 0ff0 3F92 push r3 2752 0ff2 4F92 push r4 2753 0ff4 5F92 push r5 2754 0ff6 6F92 push r6 2755 0ff8 7F92 push r7 2756 0ffa 8F92 push r8 2757 0ffc 9F92 push r9 2758 0ffe AF92 push r10 2759 1000 BF92 push r11 2760 1002 CF92 push r12 2761 1004 DF92 push r13 2762 1006 EF92 push r14 2763 1008 FF92 push r15 2764 100a 0F93 push r16 2765 100c 1F93 push r17 2766 100e DF93 push r29 2767 1010 CF93 push r28 2768 1012 CDB7 in r28,__SP_L__ 2769 1014 DEB7 in r29,__SP_H__ 2770 1016 C058 subi r28,lo8(-(-128)) 2771 1018 D040 sbci r29,hi8(-(-128)) 2772 101a 0FB6 in __tmp_reg__,__SREG__ 2773 101c F894 cli 2774 101e DEBF out __SP_H__,r29 2775 1020 0FBE out __SREG__,__tmp_reg__ 2776 1022 CDBF out __SP_L__,r28 2777 /* prologue: function */ 2778 /* frame size = 128 */ 2779 1024 382E mov r3,r24 2780 1026 2B01 movw r4,r22 2781 .LVL222: 2782 1028 4A01 movw r8,r20 2783 102a 3901 movw r6,r18 2784 .LM276: 2785 102c 00E0 ldi r16,lo8(0) 2786 102e 10E0 ldi r17,hi8(0) 2787 .LVL223: 2788 .LM277: 2789 1030 6E01 movw r12,r28 2790 1032 0894 sec 2791 1034 C11C adc r12,__zero_reg__ 2792 1036 D11C adc r13,__zero_reg__ 2793 .LM278: 2794 1038 91E4 ldi r25,lo8(65) 2795 103a E92E mov r14,r25 2796 103c F12C mov r15,__zero_reg__ 2797 103e EC0E add r14,r28 2798 1040 FD1E adc r15,r29 2799 .LVL224: 2800 .L206: 2801 .LM279: 2802 1042 F601 movw r30,r12 2803 1044 E00F add r30,r16 2804 1046 F11F adc r31,r17 2805 1048 1082 st Z,__zero_reg__ 2806 .LM280: 2807 104a 0E94 0000 call rand 2808 104e F701 movw r30,r14 2809 1050 E00F add r30,r16 2810 1052 F11F adc r31,r17 2811 1054 68E0 ldi r22,lo8(8) 2812 1056 70E0 ldi r23,hi8(8) 2813 1058 0E94 0000 call __divmodhi4 2814 105c 8083 st Z,r24 2815 .LM281: 2816 105e 0F5F subi r16,lo8(-(1)) 2817 1060 1F4F sbci r17,hi8(-(1)) 2818 1062 0034 cpi r16,64 2819 1064 1105 cpc r17,__zero_reg__ 2820 1066 01F4 brne .L206 2821 1068 EE24 clr r14 2822 106a FF24 clr r15 2823 .LVL225: 2824 .LM282: 2825 106c 5E01 movw r10,r28 2826 106e 0894 sec 2827 1070 A11C adc r10,__zero_reg__ 2828 1072 B11C adc r11,__zero_reg__ 2829 1074 81E4 ldi r24,lo8(65) 2830 1076 C82E mov r12,r24 2831 1078 D12C mov r13,__zero_reg__ 2832 107a CC0E add r12,r28 2833 107c DD1E adc r13,r29 2834 107e 00C0 rjmp .L207 2835 .L210: 2836 .LM283: 2837 1080 D801 movw r26,r16 2838 1082 8C91 ld r24,X 2839 1084 9081 ld r25,Z 2840 1086 8917 cp r24,r25 2841 1088 00F4 brsh .L208 2842 .LM284: 2843 108a 8F5F subi r24,lo8(-(1)) 2844 108c 8C93 st X,r24 2845 .L208: 2846 .LM285: 2847 108e D801 movw r26,r16 2848 1090 8C91 ld r24,X 2849 1092 9817 cp r25,r24 2850 1094 00F4 brsh .L209 2851 .LM286: 2852 1096 8150 subi r24,lo8(-(-1)) 2853 1098 8C93 st X,r24 2854 .L209: 2855 109a 0F5F subi r16,lo8(-(1)) 2856 109c 1F4F sbci r17,hi8(-(1)) 2857 109e 3196 adiw r30,1 2858 .LM287: 2859 10a0 0C15 cp r16,r12 2860 10a2 1D05 cpc r17,r13 2861 10a4 01F4 brne .L210 2862 .LM288: 2863 10a6 832D mov r24,r3 2864 10a8 B501 movw r22,r10 2865 10aa A301 movw r20,r6 2866 10ac 0E94 0000 call draw_positions_axis 2867 .LM289: 2868 10b0 C201 movw r24,r4 2869 10b2 0E94 0000 call delay_ms 2870 .LM290: 2871 10b6 0894 sec 2872 10b8 E11C adc r14,__zero_reg__ 2873 10ba F11C adc r15,__zero_reg__ 2874 10bc B8E0 ldi r27,lo8(8) 2875 10be EB16 cp r14,r27 2876 10c0 F104 cpc r15,__zero_reg__ 2877 10c2 01F0 breq .L211 2878 .L207: 2879 10c4 8501 movw r16,r10 2880 10c6 F601 movw r30,r12 2881 10c8 00C0 rjmp .L210 2882 .L211: 2883 10ca F801 movw r30,r16 2884 .LM291: 2885 10cc 27E0 ldi r18,lo8(7) 2886 .LM292: 2887 10ce CE01 movw r24,r28 2888 10d0 8F57 subi r24,lo8(-(129)) 2889 10d2 9F4F sbci r25,hi8(-(129)) 2890 .L212: 2891 .LM293: 2892 10d4 2193 st Z+,r18 2893 .LM294: 2894 10d6 E817 cp r30,r24 2895 10d8 F907 cpc r31,r25 2896 10da 01F4 brne .L212 2897 .LM295: 2898 10dc C401 movw r24,r8 2899 10de 0E94 0000 call delay_ms 2900 10e2 EE24 clr r14 2901 10e4 FF24 clr r15 2902 .LVL226: 2903 .LM296: 2904 10e6 4E01 movw r8,r28 2905 .LVL227: 2906 10e8 0894 sec 2907 10ea 811C adc r8,__zero_reg__ 2908 10ec 911C adc r9,__zero_reg__ 2909 10ee 00C0 rjmp .L213 2910 .L216: 2911 .LM297: 2912 10f0 8081 ld r24,Z 2913 10f2 9C91 ld r25,X 2914 10f4 8917 cp r24,r25 2915 10f6 00F4 brsh .L214 2916 .LM298: 2917 10f8 8F5F subi r24,lo8(-(1)) 2918 10fa 8083 st Z,r24 2919 .L214: 2920 .LM299: 2921 10fc 8081 ld r24,Z 2922 10fe 9817 cp r25,r24 2923 1100 00F4 brsh .L215 2924 .LM300: 2925 1102 8150 subi r24,lo8(-(-1)) 2926 1104 8083 st Z,r24 2927 .L215: 2928 1106 3196 adiw r30,1 2929 1108 1196 adiw r26,1 2930 .LM301: 2931 110a E017 cp r30,r16 2932 110c F107 cpc r31,r17 2933 110e 01F4 brne .L216 2934 .LM302: 2935 1110 832D mov r24,r3 2936 1112 B401 movw r22,r8 2937 1114 A301 movw r20,r6 2938 1116 0E94 0000 call draw_positions_axis 2939 .LM303: 2940 111a C201 movw r24,r4 2941 111c 0E94 0000 call delay_ms 2942 .LM304: 2943 1120 0894 sec 2944 1122 E11C adc r14,__zero_reg__ 2945 1124 F11C adc r15,__zero_reg__ 2946 1126 88E0 ldi r24,lo8(8) 2947 1128 E816 cp r14,r24 2948 112a F104 cpc r15,__zero_reg__ 2949 112c 01F0 breq .L218 2950 .L213: 2951 112e F501 movw r30,r10 2952 1130 D601 movw r26,r12 2953 1132 00C0 rjmp .L216 2954 .L218: 2955 /* epilogue start */ 2956 .LM305: 2957 1134 C058 subi r28,lo8(-(128)) 2958 1136 DF4F sbci r29,hi8(-(128)) 2959 1138 0FB6 in __tmp_reg__,__SREG__ 2960 113a F894 cli 2961 113c DEBF out __SP_H__,r29 2962 113e 0FBE out __SREG__,__tmp_reg__ 2963 1140 CDBF out __SP_L__,r28 2964 1142 CF91 pop r28 2965 1144 DF91 pop r29 2966 1146 1F91 pop r17 2967 1148 0F91 pop r16 2968 114a FF90 pop r15 2969 114c EF90 pop r14 2970 .LVL228: 2971 114e DF90 pop r13 2972 1150 CF90 pop r12 2973 1152 BF90 pop r11 2974 1154 AF90 pop r10 2975 1156 9F90 pop r9 2976 1158 8F90 pop r8 2977 115a 7F90 pop r7 2978 115c 6F90 pop r6 2979 .LVL229: 2980 115e 5F90 pop r5 2981 1160 4F90 pop r4 2982 1162 3F90 pop r3 2983 .LVL230: 2984 1164 0895 ret 2985 .LFE18: 2987 .global effect_z_updown_move 2989 effect_z_updown_move: 2990 .LFB17: 2991 .LM306: 2992 .LVL231: 2993 /* prologue: function */ 2994 /* frame size = 0 */ 2995 1166 AC01 movw r20,r24 2996 .LVL232: 2997 .LM307: 2998 1168 DC01 movw r26,r24 2999 116a FB01 movw r30,r22 3000 .LVL233: 3001 116c 20E0 ldi r18,lo8(0) 3002 116e 30E0 ldi r19,hi8(0) 3003 .LVL234: 3004 .L226: 3005 .LM308: 3006 1170 9C91 ld r25,X 3007 1172 8081 ld r24,Z 3008 1174 9817 cp r25,r24 3009 1176 00F4 brsh .L224 3010 .LM309: 3011 1178 9F5F subi r25,lo8(-(1)) 3012 117a 9C93 st X,r25 3013 .L224: 3014 .LM310: 3015 117c 9C91 ld r25,X 3016 117e 8081 ld r24,Z 3017 1180 8917 cp r24,r25 3018 1182 00F4 brsh .L225 3019 .LM311: 3020 1184 9150 subi r25,lo8(-(-1)) 3021 1186 9C93 st X,r25 3022 .L225: 3023 .LM312: 3024 1188 2F5F subi r18,lo8(-(1)) 3025 118a 3F4F sbci r19,hi8(-(1)) 3026 118c 1196 adiw r26,1 3027 118e 3196 adiw r30,1 3028 1190 2034 cpi r18,64 3029 1192 3105 cpc r19,__zero_reg__ 3030 1194 01F4 brne .L226 3031 .LM313: 3032 1196 8AE7 ldi r24,lo8(122) 3033 1198 BA01 movw r22,r20 3034 119a 40E0 ldi r20,lo8(0) 3035 119c 50E0 ldi r21,hi8(0) 3036 119e 0E94 0000 call draw_positions_axis 3037 .LVL235: 3038 /* epilogue start */ 3039 .LM314: 3040 11a2 0895 ret 3041 .LFE17: 3043 .global effect_z_updown 3045 effect_z_updown: 3046 .LFB16: 3047 .LM315: 3048 .LVL236: 3049 11a4 2F92 push r2 3050 11a6 3F92 push r3 3051 11a8 4F92 push r4 3052 11aa 5F92 push r5 3053 11ac 6F92 push r6 3054 11ae 7F92 push r7 3055 11b0 8F92 push r8 3056 11b2 9F92 push r9 3057 11b4 AF92 push r10 3058 11b6 BF92 push r11 3059 11b8 CF92 push r12 3060 11ba DF92 push r13 3061 11bc EF92 push r14 3062 11be FF92 push r15 3063 11c0 0F93 push r16 3064 11c2 1F93 push r17 3065 11c4 DF93 push r29 3066 11c6 CF93 push r28 3067 11c8 CDB7 in r28,__SP_L__ 3068 11ca DEB7 in r29,__SP_H__ 3069 11cc C058 subi r28,lo8(-(-128)) 3070 11ce D040 sbci r29,hi8(-(-128)) 3071 11d0 0FB6 in __tmp_reg__,__SREG__ 3072 11d2 F894 cli 3073 11d4 DEBF out __SP_H__,r29 3074 11d6 0FBE out __SREG__,__tmp_reg__ 3075 11d8 CDBF out __SP_L__,r28 3076 /* prologue: function */ 3077 /* frame size = 128 */ 3078 11da 2C01 movw r4,r24 3079 11dc 7B01 movw r14,r22 3080 .LM316: 3081 11de 00E0 ldi r16,lo8(0) 3082 11e0 10E0 ldi r17,hi8(0) 3083 .LVL237: 3084 .LM317: 3085 11e2 5E01 movw r10,r28 3086 11e4 0894 sec 3087 11e6 A11C adc r10,__zero_reg__ 3088 11e8 B11C adc r11,__zero_reg__ 3089 11ea 64E0 ldi r22,lo8(4) 3090 11ec 962E mov r9,r22 3091 .LVL238: 3092 .LM318: 3093 11ee 51E4 ldi r21,lo8(65) 3094 11f0 C52E mov r12,r21 3095 11f2 D12C mov r13,__zero_reg__ 3096 11f4 CC0E add r12,r28 3097 11f6 DD1E adc r13,r29 3098 .LVL239: 3099 .L230: 3100 .LM319: 3101 11f8 F501 movw r30,r10 3102 11fa E00F add r30,r16 3103 11fc F11F adc r31,r17 3104 11fe 9082 st Z,r9 3105 .LM320: 3106 1200 0E94 0000 call rand 3107 1204 F601 movw r30,r12 3108 1206 E00F add r30,r16 3109 1208 F11F adc r31,r17 3110 120a 68E0 ldi r22,lo8(8) 3111 120c 70E0 ldi r23,hi8(8) 3112 120e 0E94 0000 call __divmodhi4 3113 1212 8083 st Z,r24 3114 .LM321: 3115 1214 0F5F subi r16,lo8(-(1)) 3116 1216 1F4F sbci r17,hi8(-(1)) 3117 1218 0034 cpi r16,64 3118 121a 1105 cpc r17,__zero_reg__ 3119 121c 01F4 brne .L230 3120 121e 00E0 ldi r16,lo8(0) 3121 1220 10E0 ldi r17,hi8(0) 3122 .LVL240: 3123 .LM322: 3124 1222 41E4 ldi r20,lo8(65) 3125 1224 A42E mov r10,r20 3126 1226 B12C mov r11,__zero_reg__ 3127 1228 AC0E add r10,r28 3128 122a BD1E adc r11,r29 3129 122c 6E01 movw r12,r28 3130 122e 0894 sec 3131 1230 C11C adc r12,__zero_reg__ 3132 1232 D11C adc r13,__zero_reg__ 3133 .LM323: 3134 1234 3701 movw r6,r14 3135 .LVL241: 3136 .L231: 3137 .LM324: 3138 1236 C601 movw r24,r12 3139 1238 B501 movw r22,r10 3140 123a 4AE7 ldi r20,lo8(122) 3141 123c 0E94 0000 call effect_z_updown_move 3142 .LM325: 3143 1240 C301 movw r24,r6 3144 1242 0E94 0000 call delay_ms 3145 .LM326: 3146 1246 0F5F subi r16,lo8(-(1)) 3147 1248 1F4F sbci r17,hi8(-(1)) 3148 124a 0830 cpi r16,8 3149 124c 1105 cpc r17,__zero_reg__ 3150 124e 01F4 brne .L231 3151 .LM327: 3152 1250 5701 movw r10,r14 3153 .LVL242: 3154 1252 AA0C lsl r10 3155 1254 BB1C rol r11 3156 1256 AA0C lsl r10 3157 1258 BB1C rol r11 3158 125a CC24 clr r12 3159 125c DD24 clr r13 3160 .LVL243: 3161 .LM328: 3162 125e 21E4 ldi r18,lo8(65) 3163 1260 822E mov r8,r18 3164 1262 912C mov r9,__zero_reg__ 3165 1264 8C0E add r8,r28 3166 1266 9D1E adc r9,r29 3167 1268 1E01 movw r2,r28 3168 126a 0894 sec 3169 126c 211C adc r2,__zero_reg__ 3170 126e 311C adc r3,__zero_reg__ 3171 1270 00C0 rjmp .L232 3172 .LVL244: 3173 .L235: 3174 .LM329: 3175 1272 00E0 ldi r16,lo8(0) 3176 1274 10E0 ldi r17,hi8(0) 3177 .LVL245: 3178 .L233: 3179 .LM330: 3180 1276 C101 movw r24,r2 3181 1278 B401 movw r22,r8 3182 127a 4AE7 ldi r20,lo8(122) 3183 127c 0E94 0000 call effect_z_updown_move 3184 .LM331: 3185 1280 C301 movw r24,r6 3186 1282 0E94 0000 call delay_ms 3187 .LM332: 3188 1286 0F5F subi r16,lo8(-(1)) 3189 1288 1F4F sbci r17,hi8(-(1)) 3190 128a 0830 cpi r16,8 3191 128c 1105 cpc r17,__zero_reg__ 3192 128e 01F4 brne .L233 3193 .LM333: 3194 1290 C501 movw r24,r10 3195 1292 0E94 0000 call delay_ms 3196 1296 EE24 clr r14 3197 1298 FF24 clr r15 3198 .LVL246: 3199 .L234: 3200 .LM334: 3201 129a 0E94 0000 call rand 3202 129e 8C01 movw r16,r24 3203 .LVL247: 3204 12a0 0E94 0000 call rand 3205 12a4 9C01 movw r18,r24 3206 12a6 C801 movw r24,r16 3207 12a8 60E4 ldi r22,lo8(64) 3208 12aa 70E0 ldi r23,hi8(64) 3209 12ac 0E94 0000 call __divmodhi4 3210 12b0 F401 movw r30,r8 3211 12b2 E80F add r30,r24 3212 12b4 F91F adc r31,r25 3213 12b6 C901 movw r24,r18 3214 12b8 68E0 ldi r22,lo8(8) 3215 12ba 70E0 ldi r23,hi8(8) 3216 12bc 0E94 0000 call __divmodhi4 3217 12c0 8083 st Z,r24 3218 .LM335: 3219 12c2 0894 sec 3220 12c4 E11C adc r14,__zero_reg__ 3221 12c6 F11C adc r15,__zero_reg__ 3222 12c8 8AE0 ldi r24,lo8(10) 3223 12ca E816 cp r14,r24 3224 12cc F104 cpc r15,__zero_reg__ 3225 12ce 01F4 brne .L234 3226 .LM336: 3227 12d0 0894 sec 3228 12d2 C11C adc r12,__zero_reg__ 3229 12d4 D11C adc r13,__zero_reg__ 3230 .LVL248: 3231 .L232: 3232 12d6 C414 cp r12,r4 3233 12d8 D504 cpc r13,r5 3234 12da 04F0 brlt .L235 3235 /* epilogue start */ 3236 .LM337: 3237 12dc C058 subi r28,lo8(-(128)) 3238 12de DF4F sbci r29,hi8(-(128)) 3239 12e0 0FB6 in __tmp_reg__,__SREG__ 3240 12e2 F894 cli 3241 12e4 DEBF out __SP_H__,r29 3242 12e6 0FBE out __SREG__,__tmp_reg__ 3243 12e8 CDBF out __SP_L__,r28 3244 12ea CF91 pop r28 3245 12ec DF91 pop r29 3246 12ee 1F91 pop r17 3247 12f0 0F91 pop r16 3248 12f2 FF90 pop r15 3249 12f4 EF90 pop r14 3250 .LVL249: 3251 12f6 DF90 pop r13 3252 12f8 CF90 pop r12 3253 .LVL250: 3254 12fa BF90 pop r11 3255 12fc AF90 pop r10 3256 12fe 9F90 pop r9 3257 1300 8F90 pop r8 3258 1302 7F90 pop r7 3259 1304 6F90 pop r6 3260 1306 5F90 pop r5 3261 1308 4F90 pop r4 3262 .LVL251: 3263 130a 3F90 pop r3 3264 130c 2F90 pop r2 3265 130e 0895 ret 3266 .LFE16: 3268 .global effect_random_filler 3270 effect_random_filler: 3271 .LFB14: 3272 .LM338: 3273 .LVL252: 3274 1310 8F92 push r8 3275 1312 9F92 push r9 3276 1314 AF92 push r10 3277 1316 BF92 push r11 3278 1318 CF92 push r12 3279 131a DF92 push r13 3280 131c EF92 push r14 3281 131e FF92 push r15 3282 1320 0F93 push r16 3283 1322 1F93 push r17 3284 1324 CF93 push r28 3285 1326 DF93 push r29 3286 /* prologue: function */ 3287 /* frame size = 0 */ 3288 1328 4C01 movw r8,r24 3289 132a 8B01 movw r16,r22 3290 .LM339: 3291 132c 6130 cpi r22,1 3292 132e 7105 cpc r23,__zero_reg__ 3293 1330 01F4 brne .L242 3294 .LVL253: 3295 .LM340: 3296 1332 80E0 ldi r24,lo8(0) 3297 1334 00C0 rjmp .L250 3298 .LVL254: 3299 .L242: 3300 .LM341: 3301 1336 8FEF ldi r24,lo8(-1) 3302 .L250: 3303 1338 0E94 0000 call fill 3304 .LVL255: 3305 133c C0E0 ldi r28,lo8(0) 3306 133e D0E0 ldi r29,hi8(0) 3307 .LVL256: 3308 .L248: 3309 .LM342: 3310 1340 0E94 0000 call rand 3311 1344 68E0 ldi r22,lo8(8) 3312 1346 70E0 ldi r23,hi8(8) 3313 1348 0E94 0000 call __divmodhi4 3314 134c B82E mov r11,r24 3315 134e A92E mov r10,r25 3316 .LM343: 3317 1350 0E94 0000 call rand 3318 1354 68E0 ldi r22,lo8(8) 3319 1356 70E0 ldi r23,hi8(8) 3320 1358 0E94 0000 call __divmodhi4 3321 135c D82E mov r13,r24 3322 135e C92E mov r12,r25 3323 .LM344: 3324 1360 0E94 0000 call rand 3325 1364 68E0 ldi r22,lo8(8) 3326 1366 70E0 ldi r23,hi8(8) 3327 1368 0E94 0000 call __divmodhi4 3328 136c F82E mov r15,r24 3329 136e E92E mov r14,r25 3330 .LM345: 3331 1370 0115 cp r16,__zero_reg__ 3332 1372 1105 cpc r17,__zero_reg__ 3333 1374 01F4 brne .L244 3334 1376 8B2D mov r24,r11 3335 1378 9A2D mov r25,r10 3336 137a 6D2D mov r22,r13 3337 137c 7C2D mov r23,r12 3338 137e 4F2D mov r20,r15 3339 1380 5E2D mov r21,r14 3340 1382 0E94 0000 call getvoxel 3341 1386 8130 cpi r24,lo8(1) 3342 1388 01F4 brne .L246 3343 138a 00C0 rjmp .L245 3344 .L244: 3345 138c 0130 cpi r16,1 3346 138e 1105 cpc r17,__zero_reg__ 3347 1390 01F4 brne .L246 3348 1392 8B2D mov r24,r11 3349 1394 9A2D mov r25,r10 3350 1396 6D2D mov r22,r13 3351 1398 7C2D mov r23,r12 3352 139a 4F2D mov r20,r15 3353 139c 5E2D mov r21,r14 3354 139e 0E94 0000 call getvoxel 3355 13a2 8823 tst r24 3356 13a4 01F4 brne .L246 3357 .L245: 3358 .LM346: 3359 13a6 8B2D mov r24,r11 3360 13a8 9A2D mov r25,r10 3361 13aa 6D2D mov r22,r13 3362 13ac 7C2D mov r23,r12 3363 13ae 4F2D mov r20,r15 3364 13b0 5E2D mov r21,r14 3365 13b2 9801 movw r18,r16 3366 13b4 0E94 0000 call altervoxel 3367 .LM347: 3368 13b8 C401 movw r24,r8 3369 13ba 0E94 0000 call delay_ms 3370 .LM348: 3371 13be 2196 adiw r28,1 3372 .L246: 3373 .LM349: 3374 13c0 81E0 ldi r24,hi8(511) 3375 13c2 CF3F cpi r28,lo8(511) 3376 13c4 D807 cpc r29,r24 3377 13c6 04F4 brge .+2 3378 13c8 00C0 rjmp .L248 3379 /* epilogue start */ 3380 .LM350: 3381 13ca DF91 pop r29 3382 13cc CF91 pop r28 3383 .LVL257: 3384 13ce 1F91 pop r17 3385 13d0 0F91 pop r16 3386 .LVL258: 3387 13d2 FF90 pop r15 3388 13d4 EF90 pop r14 3389 13d6 DF90 pop r13 3390 13d8 CF90 pop r12 3391 13da BF90 pop r11 3392 13dc AF90 pop r10 3393 13de 9F90 pop r9 3394 13e0 8F90 pop r8 3395 .LVL259: 3396 13e2 0895 ret 3397 .LFE14: 3399 .global sendvoxels_rand_z 3401 sendvoxels_rand_z: 3402 .LFB12: 3403 .LM351: 3404 .LVL260: 3405 13e4 6F92 push r6 3406 13e6 7F92 push r7 3407 13e8 8F92 push r8 3408 13ea 9F92 push r9 3409 13ec AF92 push r10 3410 13ee BF92 push r11 3411 13f0 DF92 push r13 3412 13f2 EF92 push r14 3413 13f4 FF92 push r15 3414 13f6 0F93 push r16 3415 13f8 1F93 push r17 3416 13fa CF93 push r28 3417 13fc DF93 push r29 3418 /* prologue: function */ 3419 /* frame size = 0 */ 3420 13fe 3C01 movw r6,r24 3421 1400 5B01 movw r10,r22 3422 1402 4A01 movw r8,r20 3423 .LM352: 3424 1404 80E0 ldi r24,lo8(0) 3425 .LVL261: 3426 1406 0E94 0000 call fill 3427 .LVL262: 3428 140a 00E0 ldi r16,lo8(0) 3429 140c 10E0 ldi r17,hi8(0) 3430 140e 00C0 rjmp .L252 3431 .L255: 3432 .LM353: 3433 1410 0E94 0000 call rand 3434 1414 80FD sbrc r24,0 3435 1416 00C0 rjmp .L253 3436 .LM354: 3437 1418 C801 movw r24,r16 3438 141a BE01 movw r22,r28 3439 141c 40E0 ldi r20,lo8(0) 3440 141e 50E0 ldi r21,hi8(0) 3441 1420 00C0 rjmp .L264 3442 .L253: 3443 .LM355: 3444 1422 C801 movw r24,r16 3445 1424 BE01 movw r22,r28 3446 1426 47E0 ldi r20,lo8(7) 3447 1428 50E0 ldi r21,hi8(7) 3448 .L264: 3449 142a 0E94 0000 call setvoxel 3450 142e 2196 adiw r28,1 3451 .LM356: 3452 1430 C830 cpi r28,8 3453 1432 D105 cpc r29,__zero_reg__ 3454 1434 01F4 brne .L255 3455 1436 0F5F subi r16,lo8(-(1)) 3456 1438 1F4F sbci r17,hi8(-(1)) 3457 .LM357: 3458 143a 0830 cpi r16,8 3459 143c 1105 cpc r17,__zero_reg__ 3460 143e 01F4 brne .L252 3461 1440 DD24 clr r13 3462 .LVL263: 3463 1442 EE24 clr r14 3464 .LVL264: 3465 1444 FF24 clr r15 3466 .LVL265: 3467 1446 00C0 rjmp .L256 3468 .LVL266: 3469 .L252: 3470 1448 C0E0 ldi r28,lo8(0) 3471 144a D0E0 ldi r29,hi8(0) 3472 144c 00C0 rjmp .L255 3473 .LVL267: 3474 .L260: 3475 .LM358: 3476 144e 0E94 0000 call rand 3477 .LVL268: 3478 1452 EC01 movw r28,r24 3479 .LM359: 3480 1454 0E94 0000 call rand 3481 1458 68E0 ldi r22,lo8(8) 3482 145a 70E0 ldi r23,hi8(8) 3483 145c 0E94 0000 call __divmodhi4 3484 1460 082F mov r16,r24 3485 .LM360: 3486 1462 8E15 cp r24,r14 3487 1464 01F0 breq .L257 3488 .LVL269: 3489 .LM361: 3490 1466 CE01 movw r24,r28 3491 .LVL270: 3492 1468 68E0 ldi r22,lo8(8) 3493 146a 70E0 ldi r23,hi8(8) 3494 146c 0E94 0000 call __divmodhi4 3495 1470 182F mov r17,r24 3496 .LM362: 3497 1472 8D15 cp r24,r13 3498 1474 01F0 breq .L257 3499 .LVL271: 3500 .LM363: 3501 1476 90E0 ldi r25,lo8(0) 3502 1478 602F mov r22,r16 3503 147a 70E0 ldi r23,lo8(0) 3504 147c 40E0 ldi r20,lo8(0) 3505 147e 50E0 ldi r21,hi8(0) 3506 1480 0E94 0000 call getvoxel 3507 .LVL272: 3508 1484 8823 tst r24 3509 1486 01F0 breq .L258 3510 .LM364: 3511 1488 812F mov r24,r17 3512 148a 602F mov r22,r16 3513 148c 40E0 ldi r20,lo8(0) 3514 148e 00C0 rjmp .L265 3515 .L258: 3516 .LM365: 3517 1490 812F mov r24,r17 3518 1492 602F mov r22,r16 3519 1494 47E0 ldi r20,lo8(7) 3520 .L265: 3521 1496 9501 movw r18,r10 3522 1498 0E94 0000 call sendvoxel_z 3523 .LM366: 3524 149c C401 movw r24,r8 3525 149e 0E94 0000 call delay_ms 3526 14a2 D12E mov r13,r17 3527 14a4 E02E mov r14,r16 3528 .LVL273: 3529 .L257: 3530 .LM367: 3531 14a6 F394 inc r15 3532 .L256: 3533 14a8 8F2D mov r24,r15 3534 14aa 90E0 ldi r25,lo8(0) 3535 .LVL274: 3536 14ac 8615 cp r24,r6 3537 14ae 9705 cpc r25,r7 3538 14b0 04F0 brlt .L260 3539 .LVL275: 3540 /* epilogue start */ 3541 .LM368: 3542 14b2 DF91 pop r29 3543 14b4 CF91 pop r28 3544 14b6 1F91 pop r17 3545 .LVL276: 3546 14b8 0F91 pop r16 3547 .LVL277: 3548 14ba FF90 pop r15 3549 14bc EF90 pop r14 3550 .LVL278: 3551 14be DF90 pop r13 3552 .LVL279: 3553 14c0 BF90 pop r11 3554 14c2 AF90 pop r10 3555 .LVL280: 3556 14c4 9F90 pop r9 3557 14c6 8F90 pop r8 3558 .LVL281: 3559 14c8 7F90 pop r7 3560 14ca 6F90 pop r6 3561 .LVL282: 3562 14cc 0895 ret 3563 .LFE12: 3565 .global effect_blinky2 3567 effect_blinky2: 3568 .LFB7: 3569 .LM369: 3570 14ce EF92 push r14 3571 14d0 FF92 push r15 3572 14d2 0F93 push r16 3573 14d4 1F93 push r17 3574 14d6 CF93 push r28 3575 14d8 DF93 push r29 3576 /* prologue: function */ 3577 /* frame size = 0 */ 3578 .LM370: 3579 14da 80E0 ldi r24,lo8(0) 3580 14dc 0E94 0000 call fill 3581 14e0 00E0 ldi r16,lo8(0) 3582 14e2 10E0 ldi r17,hi8(0) 3583 .LVL283: 3584 .LM371: 3585 14e4 7FEE ldi r23,lo8(751) 3586 14e6 E72E mov r14,r23 3587 14e8 72E0 ldi r23,hi8(751) 3588 14ea F72E mov r15,r23 3589 14ec 00C0 rjmp .L267 3590 .LVL284: 3591 .L268: 3592 .LM372: 3593 14ee 80E0 ldi r24,lo8(0) 3594 14f0 0E94 0000 call fill 3595 .LM373: 3596 14f4 CE01 movw r24,r28 3597 14f6 0E94 0000 call delay_ms 3598 .LM374: 3599 14fa 8FEF ldi r24,lo8(-1) 3600 14fc 0E94 0000 call fill 3601 .LM375: 3602 1500 84E6 ldi r24,lo8(100) 3603 1502 90E0 ldi r25,hi8(100) 3604 1504 0E94 0000 call delay_ms 3605 .LM376: 3606 1508 CE01 movw r24,r28 3607 150a 66EF ldi r22,lo8(-10) 3608 150c 7FEF ldi r23,hi8(-10) 3609 150e 0E94 0000 call __divmodhi4 3610 1512 88EE ldi r24,lo8(1000) 3611 1514 93E0 ldi r25,hi8(1000) 3612 1516 0E94 0000 call __divmodhi4 3613 151a 6F50 subi r22,lo8(-(-15)) 3614 151c 7040 sbci r23,hi8(-(-15)) 3615 151e C60F add r28,r22 3616 1520 D71F adc r29,r23 3617 .LM377: 3618 1522 1C16 cp __zero_reg__,r28 3619 1524 1D06 cpc __zero_reg__,r29 3620 1526 04F0 brlt .L268 3621 .LM378: 3622 1528 88EE ldi r24,lo8(1000) 3623 152a 93E0 ldi r25,hi8(1000) 3624 152c 0E94 0000 call delay_ms 3625 1530 CEEE ldi r28,lo8(750) 3626 1532 D2E0 ldi r29,hi8(750) 3627 .LVL285: 3628 .L269: 3629 .LM379: 3630 1534 80E0 ldi r24,lo8(0) 3631 1536 0E94 0000 call fill 3632 .LM380: 3633 153a C701 movw r24,r14 3634 153c 8C1B sub r24,r28 3635 153e 9D0B sbc r25,r29 3636 1540 0E94 0000 call delay_ms 3637 .LM381: 3638 1544 8FEF ldi r24,lo8(-1) 3639 1546 0E94 0000 call fill 3640 .LM382: 3641 154a 84E6 ldi r24,lo8(100) 3642 154c 90E0 ldi r25,hi8(100) 3643 154e 0E94 0000 call delay_ms 3644 .LM383: 3645 1552 CE01 movw r24,r28 3646 1554 66EF ldi r22,lo8(-10) 3647 1556 7FEF ldi r23,hi8(-10) 3648 1558 0E94 0000 call __divmodhi4 3649 155c 88EE ldi r24,lo8(1000) 3650 155e 93E0 ldi r25,hi8(1000) 3651 1560 0E94 0000 call __divmodhi4 3652 1564 6F50 subi r22,lo8(-(-15)) 3653 1566 7040 sbci r23,hi8(-(-15)) 3654 1568 C60F add r28,r22 3655 156a D71F adc r29,r23 3656 .LM384: 3657 156c 1C16 cp __zero_reg__,r28 3658 156e 1D06 cpc __zero_reg__,r29 3659 1570 04F0 brlt .L269 3660 .LM385: 3661 1572 0F5F subi r16,lo8(-(1)) 3662 1574 1F4F sbci r17,hi8(-(1)) 3663 1576 0230 cpi r16,2 3664 1578 1105 cpc r17,__zero_reg__ 3665 157a 01F0 breq .L271 3666 .L267: 3667 157c CEEE ldi r28,lo8(750) 3668 157e D2E0 ldi r29,hi8(750) 3669 .LVL286: 3670 1580 00C0 rjmp .L268 3671 .L271: 3672 /* epilogue start */ 3673 .LM386: 3674 1582 DF91 pop r29 3675 1584 CF91 pop r28 3676 .LVL287: 3677 1586 1F91 pop r17 3678 1588 0F91 pop r16 3679 .LVL288: 3680 158a FF90 pop r15 3681 158c EF90 pop r14 3682 158e 0895 ret 3683 .LFE7: 3685 .global effect_wormsqueeze 3687 effect_wormsqueeze: 3688 .LFB26: 3689 .LM387: 3690 .LVL289: 3691 1590 2F92 push r2 3692 1592 3F92 push r3 3693 1594 4F92 push r4 3694 1596 5F92 push r5 3695 1598 6F92 push r6 3696 159a 7F92 push r7 3697 159c 8F92 push r8 3698 159e 9F92 push r9 3699 15a0 AF92 push r10 3700 15a2 BF92 push r11 3701 15a4 CF92 push r12 3702 15a6 DF92 push r13 3703 15a8 EF92 push r14 3704 15aa FF92 push r15 3705 15ac 0F93 push r16 3706 .LVL290: 3707 15ae 1F93 push r17 3708 15b0 DF93 push r29 3709 15b2 CF93 push r28 3710 15b4 CDB7 in r28,__SP_L__ 3711 15b6 DEB7 in r29,__SP_H__ 3712 15b8 2E97 sbiw r28,14 3713 15ba 0FB6 in __tmp_reg__,__SREG__ 3714 15bc F894 cli 3715 15be DEBF out __SP_H__,r29 3716 15c0 0FBE out __SREG__,__tmp_reg__ 3717 15c2 CDBF out __SP_L__,r28 3718 /* prologue: function */ 3719 /* frame size = 14 */ 3720 15c4 9A83 std Y+2,r25 3721 15c6 8983 std Y+1,r24 3722 15c8 7C83 std Y+4,r23 3723 15ca 6B83 std Y+3,r22 3724 15cc 5E83 std Y+6,r21 3725 15ce 4D83 std Y+5,r20 3726 15d0 3887 std Y+8,r19 3727 15d2 2F83 std Y+7,r18 3728 15d4 1A87 std Y+10,r17 3729 15d6 0987 std Y+9,r16 3730 .LVL291: 3731 .LM388: 3732 15d8 4F5F subi r20,lo8(-1) 3733 15da 5F4F sbci r21,hi8(-1) 3734 .LVL292: 3735 15dc 01F4 brne .L275 3736 .LVL293: 3737 15de F7E0 ldi r31,lo8(7) 3738 15e0 2F2E mov r2,r31 3739 15e2 312C mov r3,__zero_reg__ 3740 .LVL294: 3741 15e4 00C0 rjmp .L276 3742 .LVL295: 3743 .L275: 3744 15e6 2224 clr r2 3745 15e8 3324 clr r3 3746 .LVL296: 3747 .L276: 3748 .LM389: 3749 15ea E9E0 ldi r30,lo8(9) 3750 15ec 6E2E mov r6,r30 3751 15ee 712C mov r7,__zero_reg__ 3752 .LVL297: 3753 15f0 8981 ldd r24,Y+1 3754 15f2 9A81 ldd r25,Y+2 3755 15f4 681A sub r6,r24 3756 15f6 790A sbc r7,r25 3757 .LM390: 3758 15f8 0E94 0000 call rand 3759 .LVL298: 3760 15fc B301 movw r22,r6 3761 15fe 0E94 0000 call __divmodhi4 3762 1602 6C01 movw r12,r24 3763 .LVL299: 3764 .LM391: 3765 1604 0E94 0000 call rand 3766 .LVL300: 3767 1608 B301 movw r22,r6 3768 160a 0E94 0000 call __divmodhi4 3769 160e 7C01 movw r14,r24 3770 .LVL301: 3771 1610 4424 clr r4 3772 1612 5524 clr r5 3773 .LVL302: 3774 1614 00C0 rjmp .L277 3775 .LVL303: 3776 .L289: 3777 .LM392: 3778 1616 0E94 0000 call rand 3779 161a 8C01 movw r16,r24 3780 .LM393: 3781 161c 0E94 0000 call rand 3782 1620 9C01 movw r18,r24 3783 .LM394: 3784 1622 C801 movw r24,r16 3785 1624 63E0 ldi r22,lo8(3) 3786 1626 70E0 ldi r23,hi8(3) 3787 1628 0E94 0000 call __divmodhi4 3788 162c 0197 sbiw r24,1 3789 162e 8C0D add r24,r12 3790 1630 9D1D adc r25,r13 3791 1632 9E87 std Y+14,r25 3792 1634 8D87 std Y+13,r24 3793 .LVL304: 3794 1636 1816 cp __zero_reg__,r24 3795 1638 1906 cpc __zero_reg__,r25 3796 163a 04F4 brge .L278 3797 163c 8615 cp r24,r6 3798 163e 9705 cpc r25,r7 3799 1640 04F0 brlt .L279 3800 .L278: 3801 1642 DE86 std Y+14,r13 3802 1644 CD86 std Y+13,r12 3803 .L279: 3804 .LM395: 3805 1646 C901 movw r24,r18 3806 1648 63E0 ldi r22,lo8(3) 3807 164a 70E0 ldi r23,hi8(3) 3808 164c 0E94 0000 call __divmodhi4 3809 1650 8C01 movw r16,r24 3810 .LVL305: 3811 1652 0150 subi r16,lo8(-(-1)) 3812 1654 1040 sbci r17,hi8(-(-1)) 3813 1656 0E0D add r16,r14 3814 1658 1F1D adc r17,r15 3815 165a 1016 cp __zero_reg__,r16 3816 165c 1106 cpc __zero_reg__,r17 3817 165e 04F4 brge .L280 3818 1660 0615 cp r16,r6 3819 1662 1705 cpc r17,r7 3820 1664 04F0 brlt .L281 3821 .L280: 3822 1666 8701 movw r16,r14 3823 .L281: 3824 .LM396: 3825 1668 8B81 ldd r24,Y+3 3826 166a 6D81 ldd r22,Y+5 3827 166c 7E81 ldd r23,Y+6 3828 166e 0E94 0000 call shift 3829 1672 8D84 ldd r8,Y+13 3830 1674 9E84 ldd r9,Y+14 3831 1676 AA24 clr r10 3832 1678 BB24 clr r11 3833 167a 00C0 rjmp .L282 3834 .LVL306: 3835 .L286: 3836 .LM397: 3837 167c EB81 ldd r30,Y+3 3838 167e FC81 ldd r31,Y+4 3839 1680 EA37 cpi r30,122 3840 1682 F105 cpc r31,__zero_reg__ 3841 1684 01F4 brne .L283 3842 .LVL307: 3843 .LM398: 3844 1686 C401 movw r24,r8 3845 1688 B601 movw r22,r12 3846 168a A101 movw r20,r2 3847 168c 00C0 rjmp .L291 3848 .L283: 3849 .LM399: 3850 168e 8B81 ldd r24,Y+3 3851 1690 9C81 ldd r25,Y+4 3852 1692 8937 cpi r24,121 3853 1694 9105 cpc r25,__zero_reg__ 3854 1696 01F4 brne .L285 3855 .LM400: 3856 1698 C401 movw r24,r8 3857 169a B101 movw r22,r2 3858 169c A601 movw r20,r12 3859 169e 00C0 rjmp .L291 3860 .L285: 3861 .LM401: 3862 16a0 EB81 ldd r30,Y+3 3863 16a2 FC81 ldd r31,Y+4 3864 16a4 E837 cpi r30,120 3865 16a6 F105 cpc r31,__zero_reg__ 3866 16a8 01F4 brne .L284 3867 .LM402: 3868 16aa 4D85 ldd r20,Y+13 3869 16ac 5E85 ldd r21,Y+14 3870 16ae 4E0D add r20,r14 3871 16b0 5F1D adc r21,r15 3872 16b2 C101 movw r24,r2 3873 16b4 6B85 ldd r22,Y+11 3874 16b6 7C85 ldd r23,Y+12 3875 .L291: 3876 16b8 0E94 0000 call setvoxel 3877 .L284: 3878 .LM403: 3879 16bc 0894 sec 3880 16be E11C adc r14,__zero_reg__ 3881 16c0 F11C adc r15,__zero_reg__ 3882 16c2 0894 sec 3883 16c4 C11C adc r12,__zero_reg__ 3884 16c6 D11C adc r13,__zero_reg__ 3885 .L288: 3886 16c8 8981 ldd r24,Y+1 3887 16ca 9A81 ldd r25,Y+2 3888 16cc E816 cp r14,r24 3889 16ce F906 cpc r15,r25 3890 16d0 04F0 brlt .L286 3891 .LVL308: 3892 .LM404: 3893 16d2 0894 sec 3894 16d4 A11C adc r10,__zero_reg__ 3895 16d6 B11C adc r11,__zero_reg__ 3896 16d8 0894 sec 3897 16da 811C adc r8,__zero_reg__ 3898 16dc 911C adc r9,__zero_reg__ 3899 .LVL309: 3900 .L282: 3901 16de E981 ldd r30,Y+1 3902 16e0 FA81 ldd r31,Y+2 3903 16e2 AE16 cp r10,r30 3904 16e4 BF06 cpc r11,r31 3905 16e6 04F4 brge .L287 3906 16e8 6801 movw r12,r16 3907 16ea EE24 clr r14 3908 16ec FF24 clr r15 3909 .LM405: 3910 16ee C501 movw r24,r10 3911 16f0 800F add r24,r16 3912 16f2 911F adc r25,r17 3913 16f4 9C87 std Y+12,r25 3914 16f6 8B87 std Y+11,r24 3915 16f8 00C0 rjmp .L288 3916 .LVL310: 3917 .L287: 3918 .LM406: 3919 16fa 8985 ldd r24,Y+9 3920 16fc 9A85 ldd r25,Y+10 3921 16fe 0E94 0000 call delay_ms 3922 .LM407: 3923 1702 0894 sec 3924 1704 411C adc r4,__zero_reg__ 3925 1706 511C adc r5,__zero_reg__ 3926 1708 CD84 ldd r12,Y+13 3927 170a DE84 ldd r13,Y+14 3928 170c 7801 movw r14,r16 3929 .LVL311: 3930 .L277: 3931 170e EF81 ldd r30,Y+7 3932 1710 F885 ldd r31,Y+8 3933 1712 4E16 cp r4,r30 3934 1714 5F06 cpc r5,r31 3935 1716 04F4 brge .+2 3936 1718 00C0 rjmp .L289 3937 /* epilogue start */ 3938 .LM408: 3939 171a 2E96 adiw r28,14 3940 171c 0FB6 in __tmp_reg__,__SREG__ 3941 171e F894 cli 3942 1720 DEBF out __SP_H__,r29 3943 1722 0FBE out __SREG__,__tmp_reg__ 3944 1724 CDBF out __SP_L__,r28 3945 1726 CF91 pop r28 3946 1728 DF91 pop r29 3947 172a 1F91 pop r17 3948 172c 0F91 pop r16 3949 172e FF90 pop r15 3950 1730 EF90 pop r14 3951 .LVL312: 3952 1732 DF90 pop r13 3953 1734 CF90 pop r12 3954 .LVL313: 3955 1736 BF90 pop r11 3956 1738 AF90 pop r10 3957 .LVL314: 3958 173a 9F90 pop r9 3959 173c 8F90 pop r8 3960 173e 7F90 pop r7 3961 1740 6F90 pop r6 3962 .LVL315: 3963 1742 5F90 pop r5 3964 1744 4F90 pop r4 3965 .LVL316: 3966 1746 3F90 pop r3 3967 1748 2F90 pop r2 3968 .LVL317: 3969 174a 0895 ret 3970 .LFE26: 3972 .global effect_rain 3974 effect_rain: 3975 .LFB15: 3976 .LM409: 3977 .LVL318: 3978 174c AF92 push r10 3979 174e BF92 push r11 3980 1750 CF92 push r12 3981 1752 DF92 push r13 3982 1754 EF92 push r14 3983 1756 FF92 push r15 3984 1758 0F93 push r16 3985 175a 1F93 push r17 3986 175c CF93 push r28 3987 175e DF93 push r29 3988 /* prologue: function */ 3989 /* frame size = 0 */ 3990 1760 5C01 movw r10,r24 3991 .LM410: 3992 1762 CC24 clr r12 3993 1764 DD24 clr r13 3994 .LVL319: 3995 1766 00C0 rjmp .L293 3996 .LVL320: 3997 .L296: 3998 .LM411: 3999 1768 0E94 0000 call rand 4000 176c 64E0 ldi r22,lo8(4) 4001 176e 70E0 ldi r23,hi8(4) 4002 1770 0E94 0000 call __divmodhi4 4003 1774 EC01 movw r28,r24 4004 .LVL321: 4005 1776 EE24 clr r14 4006 1778 FF24 clr r15 4007 177a 00C0 rjmp .L294 4008 .LVL322: 4009 .L295: 4010 .LM412: 4011 177c 0E94 0000 call rand 4012 1780 8C01 movw r16,r24 4013 .LM413: 4014 1782 0E94 0000 call rand 4015 1786 9C01 movw r18,r24 4016 .LM414: 4017 1788 C801 movw r24,r16 4018 178a 68E0 ldi r22,lo8(8) 4019 178c 70E0 ldi r23,hi8(8) 4020 178e 0E94 0000 call __divmodhi4 4021 1792 FC01 movw r30,r24 4022 1794 C901 movw r24,r18 4023 1796 68E0 ldi r22,lo8(8) 4024 1798 70E0 ldi r23,hi8(8) 4025 179a 0E94 0000 call __divmodhi4 4026 179e BC01 movw r22,r24 4027 17a0 CF01 movw r24,r30 4028 17a2 47E0 ldi r20,lo8(7) 4029 17a4 50E0 ldi r21,hi8(7) 4030 17a6 0E94 0000 call setvoxel 4031 .LM415: 4032 17aa 0894 sec 4033 17ac E11C adc r14,__zero_reg__ 4034 17ae F11C adc r15,__zero_reg__ 4035 .L294: 4036 17b0 EC16 cp r14,r28 4037 17b2 FD06 cpc r15,r29 4038 17b4 04F0 brlt .L295 4039 .LM416: 4040 17b6 88EE ldi r24,lo8(1000) 4041 17b8 93E0 ldi r25,hi8(1000) 4042 17ba 0E94 0000 call delay_ms 4043 .LM417: 4044 17be 8AE7 ldi r24,lo8(122) 4045 17c0 6FEF ldi r22,lo8(-1) 4046 17c2 7FEF ldi r23,hi8(-1) 4047 17c4 0E94 0000 call shift 4048 .LM418: 4049 17c8 0894 sec 4050 17ca C11C adc r12,__zero_reg__ 4051 17cc D11C adc r13,__zero_reg__ 4052 .LVL323: 4053 .L293: 4054 17ce CA14 cp r12,r10 4055 17d0 DB04 cpc r13,r11 4056 17d2 04F0 brlt .L296 4057 /* epilogue start */ 4058 .LM419: 4059 17d4 DF91 pop r29 4060 17d6 CF91 pop r28 4061 .LVL324: 4062 17d8 1F91 pop r17 4063 17da 0F91 pop r16 4064 17dc FF90 pop r15 4065 17de EF90 pop r14 4066 .LVL325: 4067 17e0 DF90 pop r13 4068 17e2 CF90 pop r12 4069 .LVL326: 4070 17e4 BF90 pop r11 4071 17e6 AF90 pop r10 4072 .LVL327: 4073 17e8 0895 ret 4074 .LFE15: 4076 .global boingboing 4078 boingboing: 4079 .LFB13: 4080 .LM420: 4081 .LVL328: 4082 17ea 2F92 push r2 4083 17ec 3F92 push r3 4084 17ee 4F92 push r4 4085 17f0 5F92 push r5 4086 17f2 6F92 push r6 4087 17f4 7F92 push r7 4088 17f6 8F92 push r8 4089 17f8 9F92 push r9 4090 17fa AF92 push r10 4091 17fc BF92 push r11 4092 17fe CF92 push r12 4093 1800 DF92 push r13 4094 1802 EF92 push r14 4095 1804 FF92 push r15 4096 1806 0F93 push r16 4097 1808 1F93 push r17 4098 180a DF93 push r29 4099 180c CF93 push r28 4100 180e CDB7 in r28,__SP_L__ 4101 1810 DEB7 in r29,__SP_H__ 4102 1812 E897 sbiw r28,56 4103 1814 0FB6 in __tmp_reg__,__SREG__ 4104 1816 F894 cli 4105 1818 DEBF out __SP_H__,r29 4106 181a 0FBE out __SREG__,__tmp_reg__ 4107 181c CDBF out __SP_L__,r28 4108 /* prologue: function */ 4109 /* frame size = 56 */ 4110 181e 9AAB std Y+50,r25 4111 1820 89AB std Y+49,r24 4112 1822 7CAB std Y+52,r23 4113 1824 6BAB std Y+51,r22 4114 1826 222E mov r2,r18 4115 .LM421: 4116 1828 80E0 ldi r24,lo8(0) 4117 .LVL329: 4118 182a 0E94 0000 call fill 4119 .LVL330: 4120 182e FE01 movw r30,r28 4121 1830 3196 adiw r30,1 4122 .LM422: 4123 1832 84E0 ldi r24,lo8(4) 4124 1834 90E0 ldi r25,hi8(4) 4125 .LM423: 4126 1836 9E01 movw r18,r28 4127 1838 2F5C subi r18,lo8(-(49)) 4128 183a 3F4F sbci r19,hi8(-(49)) 4129 183c 3EAB std Y+54,r19 4130 183e 2DAB std Y+53,r18 4131 .L299: 4132 .LM424: 4133 1840 9183 std Z+1,r25 4134 1842 8083 st Z,r24 4135 .LM425: 4136 1844 9383 std Z+3,r25 4137 1846 8283 std Z+2,r24 4138 .LM426: 4139 1848 9583 std Z+5,r25 4140 184a 8483 std Z+4,r24 4141 184c 3696 adiw r30,6 4142 .LM427: 4143 184e 2DA9 ldd r18,Y+53 4144 1850 3EA9 ldd r19,Y+54 4145 1852 E217 cp r30,r18 4146 1854 F307 cpc r31,r19 4147 1856 01F4 brne .L299 4148 .LM428: 4149 1858 0E94 0000 call rand 4150 185c 68E0 ldi r22,lo8(8) 4151 185e 70E0 ldi r23,hi8(8) 4152 1860 0E94 0000 call __divmodhi4 4153 1864 3C01 movw r6,r24 4154 .LVL331: 4155 .LM429: 4156 1866 0E94 0000 call rand 4157 .LVL332: 4158 186a 68E0 ldi r22,lo8(8) 4159 186c 70E0 ldi r23,hi8(8) 4160 186e 0E94 0000 call __divmodhi4 4161 1872 2C01 movw r4,r24 4162 .LVL333: 4163 .LM430: 4164 1874 0E94 0000 call rand 4165 .LVL334: 4166 1878 68E0 ldi r22,lo8(8) 4167 187a 70E0 ldi r23,hi8(8) 4168 187c 0E94 0000 call __divmodhi4 4169 1880 7C01 movw r14,r24 4170 .LVL335: 4171 1882 E1E0 ldi r30,lo8(1) 4172 1884 CE2E mov r12,r30 4173 1886 D12C mov r13,__zero_reg__ 4174 .LVL336: 4175 1888 71E0 ldi r23,lo8(1) 4176 188a 872E mov r8,r23 4177 188c 912C mov r9,__zero_reg__ 4178 .LVL337: 4179 188e 61E0 ldi r22,lo8(1) 4180 1890 A62E mov r10,r22 4181 1892 B12C mov r11,__zero_reg__ 4182 .LVL338: 4183 .LM431: 4184 1894 CE01 movw r24,r28 4185 .LVL339: 4186 1896 0B97 sbiw r24,11 4187 1898 98AF std Y+56,r25 4188 189a 8FAB std Y+55,r24 4189 189c 00C0 rjmp .L300 4190 .LVL340: 4191 .L353: 4192 .LM432: 4193 189e 0E94 0000 call rand 4194 18a2 63E0 ldi r22,lo8(3) 4195 18a4 70E0 ldi r23,hi8(3) 4196 18a6 0E94 0000 call __divmodhi4 4197 18aa 892B or r24,r25 4198 18ac 01F4 brne .L301 4199 .LM433: 4200 18ae 0E94 0000 call rand 4201 18b2 63E0 ldi r22,lo8(3) 4202 18b4 70E0 ldi r23,hi8(3) 4203 18b6 0E94 0000 call __divmodhi4 4204 .LM434: 4205 18ba 0097 sbiw r24,0 4206 .LVL341: 4207 18bc 01F4 brne .L302 4208 .LM435: 4209 18be 0E94 0000 call rand 4210 .LVL342: 4211 18c2 63E0 ldi r22,lo8(3) 4212 18c4 70E0 ldi r23,hi8(3) 4213 18c6 0E94 0000 call __divmodhi4 4214 18ca 6C01 movw r12,r24 4215 18cc 0894 sec 4216 18ce C108 sbc r12,__zero_reg__ 4217 18d0 D108 sbc r13,__zero_reg__ 4218 18d2 00C0 rjmp .L301 4219 .LVL343: 4220 .L302: 4221 .LM436: 4222 18d4 8130 cpi r24,1 4223 18d6 9105 cpc r25,__zero_reg__ 4224 18d8 01F4 brne .L303 4225 .LM437: 4226 18da 0E94 0000 call rand 4227 .LVL344: 4228 18de 63E0 ldi r22,lo8(3) 4229 18e0 70E0 ldi r23,hi8(3) 4230 18e2 0E94 0000 call __divmodhi4 4231 18e6 4C01 movw r8,r24 4232 18e8 0894 sec 4233 18ea 8108 sbc r8,__zero_reg__ 4234 18ec 9108 sbc r9,__zero_reg__ 4235 18ee 00C0 rjmp .L301 4236 .LVL345: 4237 .L303: 4238 .LM438: 4239 18f0 8230 cpi r24,2 4240 18f2 9105 cpc r25,__zero_reg__ 4241 18f4 01F4 brne .L301 4242 .LM439: 4243 18f6 0E94 0000 call rand 4244 .LVL346: 4245 18fa 63E0 ldi r22,lo8(3) 4246 18fc 70E0 ldi r23,hi8(3) 4247 18fe 0E94 0000 call __divmodhi4 4248 1902 5C01 movw r10,r24 4249 1904 0894 sec 4250 1906 A108 sbc r10,__zero_reg__ 4251 1908 B108 sbc r11,__zero_reg__ 4252 .LVL347: 4253 .L301: 4254 .LM440: 4255 190a 9FEF ldi r25,lo8(-1) 4256 190c C916 cp r12,r25 4257 190e 9FEF ldi r25,hi8(-1) 4258 1910 D906 cpc r13,r25 4259 1912 01F4 brne .L304 4260 1914 4114 cp r4,__zero_reg__ 4261 1916 5104 cpc r5,__zero_reg__ 4262 1918 01F4 brne .L304 4263 .LM441: 4264 191a 0E94 0000 call rand 4265 .LVL348: 4266 191e 63E0 ldi r22,lo8(3) 4267 1920 70E0 ldi r23,hi8(3) 4268 1922 0E94 0000 call __divmodhi4 4269 1926 0197 sbiw r24,1 4270 1928 01F0 breq .L305 4271 192a CC24 clr r12 4272 192c DD24 clr r13 4273 192e 00C0 rjmp .L360 4274 .L305: 4275 1930 51E0 ldi r21,lo8(1) 4276 1932 C52E mov r12,r21 4277 1934 D12C mov r13,__zero_reg__ 4278 .L360: 4279 1936 11E0 ldi r17,lo8(1) 4280 1938 00C0 rjmp .L306 4281 .LVL349: 4282 .L304: 4283 193a 10E0 ldi r17,lo8(0) 4284 .L306: 4285 .LM442: 4286 193c EFEF ldi r30,lo8(-1) 4287 193e 8E16 cp r8,r30 4288 1940 EFEF ldi r30,hi8(-1) 4289 1942 9E06 cpc r9,r30 4290 1944 01F4 brne .L307 4291 1946 6114 cp r6,__zero_reg__ 4292 1948 7104 cpc r7,__zero_reg__ 4293 194a 01F4 brne .L307 4294 .LM443: 4295 194c 0E94 0000 call rand 4296 .LVL350: 4297 1950 63E0 ldi r22,lo8(3) 4298 1952 70E0 ldi r23,hi8(3) 4299 1954 0E94 0000 call __divmodhi4 4300 1958 0197 sbiw r24,1 4301 195a 01F0 breq .L308 4302 195c 8824 clr r8 4303 195e 9924 clr r9 4304 1960 00C0 rjmp .L361 4305 .L308: 4306 1962 41E0 ldi r20,lo8(1) 4307 1964 842E mov r8,r20 4308 1966 912C mov r9,__zero_reg__ 4309 .L361: 4310 1968 01E0 ldi r16,lo8(1) 4311 196a 00C0 rjmp .L309 4312 .LVL351: 4313 .L307: 4314 196c 00E0 ldi r16,lo8(0) 4315 .L309: 4316 .LM444: 4317 196e FFEF ldi r31,lo8(-1) 4318 1970 AF16 cp r10,r31 4319 1972 FFEF ldi r31,hi8(-1) 4320 1974 BF06 cpc r11,r31 4321 1976 01F4 brne .L310 4322 1978 E114 cp r14,__zero_reg__ 4323 197a F104 cpc r15,__zero_reg__ 4324 197c 01F4 brne .L310 4325 .LM445: 4326 197e 0E94 0000 call rand 4327 .LVL352: 4328 1982 63E0 ldi r22,lo8(3) 4329 1984 70E0 ldi r23,hi8(3) 4330 1986 0E94 0000 call __divmodhi4 4331 198a 0197 sbiw r24,1 4332 198c 01F0 breq .L311 4333 198e AA24 clr r10 4334 1990 BB24 clr r11 4335 1992 00C0 rjmp .L362 4336 .L311: 4337 1994 31E0 ldi r19,lo8(1) 4338 1996 A32E mov r10,r19 4339 1998 B12C mov r11,__zero_reg__ 4340 .L362: 4341 199a 3324 clr r3 4342 199c 3394 inc r3 4343 199e 00C0 rjmp .L312 4344 .LVL353: 4345 .L310: 4346 19a0 3324 clr r3 4347 .L312: 4348 .LM446: 4349 19a2 21E0 ldi r18,lo8(1) 4350 19a4 C216 cp r12,r18 4351 19a6 D104 cpc r13,__zero_reg__ 4352 19a8 01F4 brne .L313 4353 19aa 37E0 ldi r19,lo8(7) 4354 19ac 4316 cp r4,r19 4355 19ae 5104 cpc r5,__zero_reg__ 4356 19b0 01F4 brne .L313 4357 .LM447: 4358 19b2 0E94 0000 call rand 4359 .LVL354: 4360 19b6 63E0 ldi r22,lo8(3) 4361 19b8 70E0 ldi r23,hi8(3) 4362 19ba 0E94 0000 call __divmodhi4 4363 19be 0197 sbiw r24,1 4364 19c0 01F0 breq .L314 4365 19c2 CC24 clr r12 4366 19c4 DD24 clr r13 4367 19c6 00C0 rjmp .L363 4368 .L314: 4369 19c8 CC24 clr r12 4370 19ca CA94 dec r12 4371 19cc DC2C mov r13,r12 4372 .L363: 4373 19ce 11E0 ldi r17,lo8(1) 4374 .LVL355: 4375 .L313: 4376 .LM448: 4377 19d0 81E0 ldi r24,lo8(1) 4378 19d2 8816 cp r8,r24 4379 19d4 9104 cpc r9,__zero_reg__ 4380 .LVL356: 4381 19d6 01F4 brne .L315 4382 19d8 97E0 ldi r25,lo8(7) 4383 19da 6916 cp r6,r25 4384 19dc 7104 cpc r7,__zero_reg__ 4385 19de 01F4 brne .L315 4386 .LM449: 4387 19e0 0E94 0000 call rand 4388 19e4 63E0 ldi r22,lo8(3) 4389 19e6 70E0 ldi r23,hi8(3) 4390 19e8 0E94 0000 call __divmodhi4 4391 19ec 0197 sbiw r24,1 4392 19ee 01F0 breq .L316 4393 19f0 8824 clr r8 4394 19f2 9924 clr r9 4395 19f4 00C0 rjmp .L364 4396 .L316: 4397 19f6 8824 clr r8 4398 19f8 8A94 dec r8 4399 19fa 982C mov r9,r8 4400 .L364: 4401 19fc 01E0 ldi r16,lo8(1) 4402 .L315: 4403 .LM450: 4404 19fe E1E0 ldi r30,lo8(1) 4405 1a00 AE16 cp r10,r30 4406 1a02 B104 cpc r11,__zero_reg__ 4407 1a04 01F4 brne .L317 4408 1a06 F7E0 ldi r31,lo8(7) 4409 1a08 EF16 cp r14,r31 4410 1a0a F104 cpc r15,__zero_reg__ 4411 1a0c 01F4 brne .L317 4412 .LM451: 4413 1a0e 0E94 0000 call rand 4414 1a12 63E0 ldi r22,lo8(3) 4415 1a14 70E0 ldi r23,hi8(3) 4416 1a16 0E94 0000 call __divmodhi4 4417 1a1a 0197 sbiw r24,1 4418 1a1c 01F0 breq .L318 4419 1a1e AA24 clr r10 4420 1a20 BB24 clr r11 4421 1a22 00C0 rjmp .L365 4422 .L318: 4423 1a24 AA24 clr r10 4424 1a26 AA94 dec r10 4425 1a28 BA2C mov r11,r10 4426 .L365: 4427 1a2a 3324 clr r3 4428 1a2c 3394 inc r3 4429 .L317: 4430 .LM452: 4431 1a2e 1123 tst r17 4432 1a30 01F0 breq .L319 4433 .LM453: 4434 1a32 8114 cp r8,__zero_reg__ 4435 1a34 9104 cpc r9,__zero_reg__ 4436 1a36 01F4 brne .L320 4437 .LM454: 4438 1a38 27E0 ldi r18,lo8(7) 4439 1a3a 6216 cp r6,r18 4440 1a3c 7104 cpc r7,__zero_reg__ 4441 1a3e 01F0 breq .L321 4442 .LM455: 4443 1a40 6114 cp r6,__zero_reg__ 4444 1a42 7104 cpc r7,__zero_reg__ 4445 1a44 01F0 breq .L322 4446 .LM456: 4447 1a46 0E94 0000 call rand 4448 1a4a 80FD sbrc r24,0 4449 1a4c 00C0 rjmp .L322 4450 .L321: 4451 1a4e 8824 clr r8 4452 1a50 8A94 dec r8 4453 1a52 982C mov r9,r8 4454 1a54 00C0 rjmp .L320 4455 .L322: 4456 1a56 21E0 ldi r18,lo8(1) 4457 1a58 822E mov r8,r18 4458 1a5a 912C mov r9,__zero_reg__ 4459 .L320: 4460 .LM457: 4461 1a5c A114 cp r10,__zero_reg__ 4462 1a5e B104 cpc r11,__zero_reg__ 4463 1a60 01F4 brne .L319 4464 .LM458: 4465 1a62 37E0 ldi r19,lo8(7) 4466 1a64 E316 cp r14,r19 4467 1a66 F104 cpc r15,__zero_reg__ 4468 1a68 01F0 breq .L323 4469 .LM459: 4470 1a6a E114 cp r14,__zero_reg__ 4471 1a6c F104 cpc r15,__zero_reg__ 4472 1a6e 01F0 breq .L324 4473 .LM460: 4474 1a70 0E94 0000 call rand 4475 1a74 80FD sbrc r24,0 4476 1a76 00C0 rjmp .L324 4477 .L323: 4478 1a78 AA24 clr r10 4479 1a7a AA94 dec r10 4480 1a7c BA2C mov r11,r10 4481 1a7e 00C0 rjmp .L319 4482 .L324: 4483 1a80 91E0 ldi r25,lo8(1) 4484 1a82 A92E mov r10,r25 4485 1a84 B12C mov r11,__zero_reg__ 4486 .L319: 4487 .LM461: 4488 1a86 0023 tst r16 4489 1a88 01F0 breq .L325 4490 .LM462: 4491 1a8a C114 cp r12,__zero_reg__ 4492 1a8c D104 cpc r13,__zero_reg__ 4493 1a8e 01F4 brne .L326 4494 .LM463: 4495 1a90 87E0 ldi r24,lo8(7) 4496 1a92 4816 cp r4,r24 4497 1a94 5104 cpc r5,__zero_reg__ 4498 1a96 01F0 breq .L327 4499 .LM464: 4500 1a98 4114 cp r4,__zero_reg__ 4501 1a9a 5104 cpc r5,__zero_reg__ 4502 1a9c 01F0 breq .L328 4503 .LM465: 4504 1a9e 0E94 0000 call rand 4505 1aa2 80FD sbrc r24,0 4506 1aa4 00C0 rjmp .L328 4507 .L327: 4508 1aa6 CC24 clr r12 4509 1aa8 CA94 dec r12 4510 1aaa DC2C mov r13,r12 4511 1aac 00C0 rjmp .L326 4512 .L328: 4513 1aae 81E0 ldi r24,lo8(1) 4514 1ab0 C82E mov r12,r24 4515 1ab2 D12C mov r13,__zero_reg__ 4516 .L326: 4517 .LM466: 4518 1ab4 A114 cp r10,__zero_reg__ 4519 1ab6 B104 cpc r11,__zero_reg__ 4520 1ab8 01F4 brne .L325 4521 .LM467: 4522 1aba 93E0 ldi r25,lo8(3) 4523 1abc E916 cp r14,r25 4524 1abe F104 cpc r15,__zero_reg__ 4525 1ac0 01F0 breq .L329 4526 .LM468: 4527 1ac2 E114 cp r14,__zero_reg__ 4528 1ac4 F104 cpc r15,__zero_reg__ 4529 1ac6 01F0 breq .L330 4530 .LM469: 4531 1ac8 0E94 0000 call rand 4532 1acc 80FD sbrc r24,0 4533 1ace 00C0 rjmp .L330 4534 .L329: 4535 1ad0 AA24 clr r10 4536 1ad2 AA94 dec r10 4537 1ad4 BA2C mov r11,r10 4538 1ad6 00C0 rjmp .L325 4539 .L330: 4540 1ad8 01E0 ldi r16,lo8(1) 4541 1ada A02E mov r10,r16 4542 1adc B12C mov r11,__zero_reg__ 4543 .LVL357: 4544 .L325: 4545 .LM470: 4546 1ade 3320 tst r3 4547 1ae0 01F0 breq .L331 4548 .LM471: 4549 1ae2 8114 cp r8,__zero_reg__ 4550 1ae4 9104 cpc r9,__zero_reg__ 4551 1ae6 01F4 brne .L332 4552 .LM472: 4553 1ae8 E7E0 ldi r30,lo8(7) 4554 1aea 6E16 cp r6,r30 4555 1aec 7104 cpc r7,__zero_reg__ 4556 1aee 01F0 breq .L333 4557 .LM473: 4558 1af0 6114 cp r6,__zero_reg__ 4559 1af2 7104 cpc r7,__zero_reg__ 4560 1af4 01F0 breq .L334 4561 .LM474: 4562 1af6 0E94 0000 call rand 4563 1afa 80FD sbrc r24,0 4564 1afc 00C0 rjmp .L334 4565 .L333: 4566 1afe 8824 clr r8 4567 1b00 8A94 dec r8 4568 1b02 982C mov r9,r8 4569 1b04 00C0 rjmp .L332 4570 .L334: 4571 1b06 11E0 ldi r17,lo8(1) 4572 1b08 812E mov r8,r17 4573 1b0a 912C mov r9,__zero_reg__ 4574 .LVL358: 4575 .L332: 4576 .LM475: 4577 1b0c C114 cp r12,__zero_reg__ 4578 1b0e D104 cpc r13,__zero_reg__ 4579 1b10 01F4 brne .L331 4580 .LM476: 4581 1b12 F7E0 ldi r31,lo8(7) 4582 1b14 4F16 cp r4,r31 4583 1b16 5104 cpc r5,__zero_reg__ 4584 1b18 01F4 brne .L335 4585 1b1a CC24 clr r12 4586 1b1c CA94 dec r12 4587 1b1e DC2C mov r13,r12 4588 1b20 00C0 rjmp .L336 4589 .L335: 4590 .LM477: 4591 1b22 4114 cp r4,__zero_reg__ 4592 1b24 5104 cpc r5,__zero_reg__ 4593 1b26 01F4 brne .L337 4594 1b28 B1E0 ldi r27,lo8(1) 4595 1b2a CB2E mov r12,r27 4596 1b2c D12C mov r13,__zero_reg__ 4597 1b2e 00C0 rjmp .L338 4598 .L337: 4599 .LM478: 4600 1b30 0E94 0000 call rand 4601 1b34 80FF sbrs r24,0 4602 1b36 00C0 rjmp .L339 4603 1b38 A1E0 ldi r26,lo8(1) 4604 1b3a CA2E mov r12,r26 4605 1b3c D12C mov r13,__zero_reg__ 4606 1b3e 00C0 rjmp .L340 4607 .L331: 4608 .LM479: 4609 1b40 4114 cp r4,__zero_reg__ 4610 1b42 5104 cpc r5,__zero_reg__ 4611 1b44 01F4 brne .L341 4612 .L338: 4613 1b46 6114 cp r6,__zero_reg__ 4614 1b48 7104 cpc r7,__zero_reg__ 4615 1b4a 01F4 brne .L342 4616 1b4c E114 cp r14,__zero_reg__ 4617 1b4e F104 cpc r15,__zero_reg__ 4618 1b50 01F0 breq .L343 4619 1b52 27E0 ldi r18,lo8(7) 4620 1b54 E216 cp r14,r18 4621 1b56 F104 cpc r15,__zero_reg__ 4622 1b58 01F4 brne .L341 4623 1b5a 00C0 rjmp .L343 4624 .L342: 4625 1b5c 37E0 ldi r19,lo8(7) 4626 1b5e 6316 cp r6,r19 4627 1b60 7104 cpc r7,__zero_reg__ 4628 1b62 01F4 brne .L341 4629 1b64 E114 cp r14,__zero_reg__ 4630 1b66 F104 cpc r15,__zero_reg__ 4631 1b68 01F0 breq .L343 4632 1b6a 87E0 ldi r24,lo8(7) 4633 1b6c E816 cp r14,r24 4634 1b6e F104 cpc r15,__zero_reg__ 4635 1b70 01F0 breq .L343 4636 .L341: 4637 1b72 97E0 ldi r25,lo8(7) 4638 1b74 4916 cp r4,r25 4639 1b76 5104 cpc r5,__zero_reg__ 4640 1b78 01F4 brne .L340 4641 .L336: 4642 1b7a 6114 cp r6,__zero_reg__ 4643 1b7c 7104 cpc r7,__zero_reg__ 4644 1b7e 01F4 brne .L344 4645 1b80 E114 cp r14,__zero_reg__ 4646 1b82 F104 cpc r15,__zero_reg__ 4647 1b84 01F0 breq .L343 4648 1b86 E7E0 ldi r30,lo8(7) 4649 1b88 EE16 cp r14,r30 4650 1b8a F104 cpc r15,__zero_reg__ 4651 1b8c 01F4 brne .L340 4652 1b8e 00C0 rjmp .L343 4653 .L344: 4654 1b90 F7E0 ldi r31,lo8(7) 4655 1b92 6F16 cp r6,r31 4656 1b94 7104 cpc r7,__zero_reg__ 4657 1b96 01F4 brne .L340 4658 1b98 E114 cp r14,__zero_reg__ 4659 1b9a F104 cpc r15,__zero_reg__ 4660 1b9c 01F0 breq .L343 4661 1b9e 27E0 ldi r18,lo8(7) 4662 1ba0 E216 cp r14,r18 4663 1ba2 F104 cpc r15,__zero_reg__ 4664 1ba4 01F4 brne .L340 4665 .L343: 4666 .LM480: 4667 1ba6 0E94 0000 call rand 4668 1baa 63E0 ldi r22,lo8(3) 4669 1bac 70E0 ldi r23,hi8(3) 4670 1bae 0E94 0000 call __divmodhi4 4671 .LM481: 4672 1bb2 0097 sbiw r24,0 4673 .LVL359: 4674 1bb4 01F4 brne .L345 4675 1bb6 CC24 clr r12 4676 1bb8 DD24 clr r13 4677 1bba 00C0 rjmp .L340 4678 .L345: 4679 .LM482: 4680 1bbc 8130 cpi r24,1 4681 1bbe 9105 cpc r25,__zero_reg__ 4682 1bc0 01F4 brne .L346 4683 1bc2 8824 clr r8 4684 1bc4 9924 clr r9 4685 1bc6 00C0 rjmp .L340 4686 .L346: 4687 .LM483: 4688 1bc8 8230 cpi r24,2 4689 1bca 9105 cpc r25,__zero_reg__ 4690 1bcc 01F4 brne .L340 4691 1bce AA24 clr r10 4692 1bd0 BB24 clr r11 4693 .L340: 4694 .LM484: 4695 1bd2 4C0C add r4,r12 4696 1bd4 5D1C adc r5,r13 4697 .LM485: 4698 1bd6 680C add r6,r8 4699 1bd8 791C adc r7,r9 4700 .LM486: 4701 1bda EA0C add r14,r10 4702 1bdc FB1C adc r15,r11 4703 .LM487: 4704 1bde 31E0 ldi r19,lo8(1) 4705 1be0 2316 cp r2,r19 4706 1be2 01F4 brne .L347 4707 .LM488: 4708 1be4 C201 movw r24,r4 4709 .LVL360: 4710 1be6 B301 movw r22,r6 4711 1be8 A701 movw r20,r14 4712 1bea 0E94 0000 call setvoxel 4713 .LM489: 4714 1bee 8BA9 ldd r24,Y+51 4715 1bf0 9CA9 ldd r25,Y+52 4716 1bf2 0E94 0000 call delay_ms 4717 .LM490: 4718 1bf6 C201 movw r24,r4 4719 1bf8 B301 movw r22,r6 4720 1bfa A701 movw r20,r14 4721 1bfc 0E94 0000 call clrvoxel 4722 1c00 00C0 rjmp .L348 4723 .LVL361: 4724 .L347: 4725 .LM491: 4726 1c02 82E0 ldi r24,lo8(2) 4727 .LVL362: 4728 1c04 2816 cp r2,r24 4729 1c06 01F4 brne .L349 4730 .LM492: 4731 1c08 C201 movw r24,r4 4732 1c0a B301 movw r22,r6 4733 1c0c A701 movw r20,r14 4734 1c0e 0E94 0000 call flpvoxel 4735 .LM493: 4736 1c12 8BA9 ldd r24,Y+51 4737 1c14 9CA9 ldd r25,Y+52 4738 1c16 0E94 0000 call delay_ms 4739 1c1a 00C0 rjmp .L348 4740 .L349: 4741 .LM494: 4742 1c1c 93E0 ldi r25,lo8(3) 4743 1c1e 2916 cp r2,r25 4744 1c20 01F0 breq .+2 4745 1c22 00C0 rjmp .L348 4746 1c24 FE01 movw r30,r28 4747 1c26 B596 adiw r30,37 4748 .L350: 4749 .LM495: 4750 1c28 8081 ld r24,Z 4751 1c2a 9181 ldd r25,Z+1 4752 1c2c 9783 std Z+7,r25 4753 1c2e 8683 std Z+6,r24 4754 .LM496: 4755 1c30 8281 ldd r24,Z+2 4756 1c32 9381 ldd r25,Z+3 4757 1c34 9187 std Z+9,r25 4758 1c36 8087 std Z+8,r24 4759 .LM497: 4760 1c38 8481 ldd r24,Z+4 4761 1c3a 9581 ldd r25,Z+5 4762 1c3c 9387 std Z+11,r25 4763 1c3e 8287 std Z+10,r24 4764 1c40 3697 sbiw r30,6 4765 .LM498: 4766 1c42 2FA9 ldd r18,Y+55 4767 1c44 38AD ldd r19,Y+56 4768 1c46 E217 cp r30,r18 4769 1c48 F307 cpc r31,r19 4770 1c4a 01F4 brne .L350 4771 .LM499: 4772 1c4c 5A82 std Y+2,r5 4773 1c4e 4982 std Y+1,r4 4774 .LM500: 4775 1c50 7C82 std Y+4,r7 4776 1c52 6B82 std Y+3,r6 4777 .LM501: 4778 1c54 FE82 std Y+6,r15 4779 1c56 ED82 std Y+5,r14 4780 1c58 8E01 movw r16,r28 4781 .LVL363: 4782 1c5a 0F5F subi r16,lo8(-(1)) 4783 1c5c 1F4F sbci r17,hi8(-(1)) 4784 .L351: 4785 .LM502: 4786 1c5e F801 movw r30,r16 4787 1c60 6281 ldd r22,Z+2 4788 1c62 7381 ldd r23,Z+3 4789 1c64 4481 ldd r20,Z+4 4790 1c66 5581 ldd r21,Z+5 4791 1c68 8081 ld r24,Z 4792 1c6a 9181 ldd r25,Z+1 4793 1c6c 0E94 0000 call setvoxel 4794 1c70 0A5F subi r16,lo8(-(6)) 4795 1c72 1F4F sbci r17,hi8(-(6)) 4796 .LM503: 4797 1c74 2DA9 ldd r18,Y+53 4798 1c76 3EA9 ldd r19,Y+54 4799 1c78 0217 cp r16,r18 4800 1c7a 1307 cpc r17,r19 4801 1c7c 01F4 brne .L351 4802 .LM504: 4803 1c7e 8BA9 ldd r24,Y+51 4804 1c80 9CA9 ldd r25,Y+52 4805 1c82 0E94 0000 call delay_ms 4806 1c86 8E01 movw r16,r28 4807 1c88 0F5F subi r16,lo8(-(1)) 4808 1c8a 1F4F sbci r17,hi8(-(1)) 4809 .L352: 4810 .LM505: 4811 1c8c F801 movw r30,r16 4812 1c8e 6281 ldd r22,Z+2 4813 1c90 7381 ldd r23,Z+3 4814 1c92 4481 ldd r20,Z+4 4815 1c94 5581 ldd r21,Z+5 4816 1c96 8081 ld r24,Z 4817 1c98 9181 ldd r25,Z+1 4818 1c9a 0E94 0000 call clrvoxel 4819 1c9e 0A5F subi r16,lo8(-(6)) 4820 1ca0 1F4F sbci r17,hi8(-(6)) 4821 .LM506: 4822 1ca2 2DA9 ldd r18,Y+53 4823 1ca4 3EA9 ldd r19,Y+54 4824 1ca6 0217 cp r16,r18 4825 1ca8 1307 cpc r17,r19 4826 1caa 01F4 brne .L352 4827 .LVL364: 4828 .L348: 4829 .LM507: 4830 1cac 89A9 ldd r24,Y+49 4831 1cae 9AA9 ldd r25,Y+50 4832 1cb0 0197 sbiw r24,1 4833 1cb2 9AAB std Y+50,r25 4834 1cb4 89AB std Y+49,r24 4835 .LVL365: 4836 .L300: 4837 .LM508: 4838 1cb6 E9A9 ldd r30,Y+49 4839 1cb8 FAA9 ldd r31,Y+50 4840 1cba EF2B or r30,r31 4841 1cbc 01F0 breq .+2 4842 1cbe 00C0 rjmp .L353 4843 1cc0 00C0 rjmp .L366 4844 .L339: 4845 .LM509: 4846 1cc2 CC24 clr r12 4847 1cc4 CA94 dec r12 4848 1cc6 DC2C mov r13,r12 4849 1cc8 00C0 rjmp .L340 4850 .L366: 4851 /* epilogue start */ 4852 1cca E896 adiw r28,56 4853 1ccc 0FB6 in __tmp_reg__,__SREG__ 4854 1cce F894 cli 4855 1cd0 DEBF out __SP_H__,r29 4856 1cd2 0FBE out __SREG__,__tmp_reg__ 4857 1cd4 CDBF out __SP_L__,r28 4858 1cd6 CF91 pop r28 4859 1cd8 DF91 pop r29 4860 1cda 1F91 pop r17 4861 .LVL366: 4862 1cdc 0F91 pop r16 4863 .LVL367: 4864 1cde FF90 pop r15 4865 1ce0 EF90 pop r14 4866 .LVL368: 4867 1ce2 DF90 pop r13 4868 1ce4 CF90 pop r12 4869 .LVL369: 4870 1ce6 BF90 pop r11 4871 1ce8 AF90 pop r10 4872 .LVL370: 4873 1cea 9F90 pop r9 4874 1cec 8F90 pop r8 4875 .LVL371: 4876 1cee 7F90 pop r7 4877 1cf0 6F90 pop r6 4878 .LVL372: 4879 1cf2 5F90 pop r5 4880 1cf4 4F90 pop r4 4881 .LVL373: 4882 1cf6 3F90 pop r3 4883 .LVL374: 4884 1cf8 2F90 pop r2 4885 .LVL375: 4886 1cfa 0895 ret 4887 .LFE13: 4889 .global sendplane_rand_z 4891 sendplane_rand_z: 4892 .LFB11: 4893 .LM510: 4894 .LVL376: 4895 1cfc CF92 push r12 4896 1cfe DF92 push r13 4897 1d00 EF92 push r14 4898 1d02 FF92 push r15 4899 1d04 0F93 push r16 4900 1d06 1F93 push r17 4901 1d08 CF93 push r28 4902 1d0a DF93 push r29 4903 /* prologue: function */ 4904 /* frame size = 0 */ 4905 1d0c F82E mov r15,r24 4906 1d0e 6B01 movw r12,r22 4907 1d10 EA01 movw r28,r20 4908 .LM511: 4909 1d12 80E0 ldi r24,lo8(0) 4910 .LVL377: 4911 1d14 0E94 0000 call fill 4912 .LVL378: 4913 .LM512: 4914 1d18 8F2D mov r24,r15 4915 1d1a 90E0 ldi r25,lo8(0) 4916 1d1c 0E94 0000 call setplane_z 4917 1d20 10E1 ldi r17,lo8(16) 4918 .LVL379: 4919 .L372: 4920 .LM513: 4921 1d22 0E94 0000 call rand 4922 1d26 64E0 ldi r22,lo8(4) 4923 1d28 70E0 ldi r23,hi8(4) 4924 1d2a 0E94 0000 call __divmodhi4 4925 1d2e E82E mov r14,r24 4926 .LM514: 4927 1d30 0E94 0000 call rand 4928 1d34 64E0 ldi r22,lo8(4) 4929 1d36 70E0 ldi r23,hi8(4) 4930 1d38 0E94 0000 call __divmodhi4 4931 1d3c 082F mov r16,r24 4932 .LM515: 4933 1d3e 8E2D mov r24,r14 4934 1d40 90E0 ldi r25,lo8(0) 4935 1d42 602F mov r22,r16 4936 1d44 70E0 ldi r23,lo8(0) 4937 1d46 4F2D mov r20,r15 4938 1d48 50E0 ldi r21,lo8(0) 4939 1d4a 0E94 0000 call getvoxel 4940 1d4e 8823 tst r24 4941 1d50 01F0 breq .L372 4942 .LM516: 4943 1d52 8E2D mov r24,r14 4944 1d54 602F mov r22,r16 4945 1d56 4F2D mov r20,r15 4946 1d58 9601 movw r18,r12 4947 1d5a 0E94 0000 call sendvoxel_z 4948 .LM517: 4949 1d5e CE01 movw r24,r28 4950 1d60 0E94 0000 call delay_ms 4951 .LM518: 4952 1d64 1150 subi r17,lo8(-(-1)) 4953 .LM519: 4954 1d66 01F4 brne .L372 4955 /* epilogue start */ 4956 .LM520: 4957 1d68 DF91 pop r29 4958 1d6a CF91 pop r28 4959 .LVL380: 4960 1d6c 1F91 pop r17 4961 .LVL381: 4962 1d6e 0F91 pop r16 4963 1d70 FF90 pop r15 4964 .LVL382: 4965 1d72 EF90 pop r14 4966 1d74 DF90 pop r13 4967 1d76 CF90 pop r12 4968 .LVL383: 4969 1d78 0895 ret 4970 .LFE11: 4972 .global effect_box_woopwoop 4974 effect_box_woopwoop: 4975 .LFB9: 4976 .LM521: 4977 .LVL384: 4978 1d7a AF92 push r10 4979 1d7c BF92 push r11 4980 1d7e CF92 push r12 4981 1d80 DF92 push r13 4982 1d82 EF92 push r14 4983 1d84 FF92 push r15 4984 1d86 0F93 push r16 4985 1d88 1F93 push r17 4986 1d8a CF93 push r28 4987 1d8c DF93 push r29 4988 /* prologue: function */ 4989 /* frame size = 0 */ 4990 1d8e 6C01 movw r12,r24 4991 1d90 8B01 movw r16,r22 4992 .LM522: 4993 1d92 80E0 ldi r24,lo8(0) 4994 .LVL385: 4995 1d94 0E94 0000 call fill 4996 .LVL386: 4997 .LM523: 4998 1d98 0130 cpi r16,1 4999 1d9a 1105 cpc r17,__zero_reg__ 5000 1d9c 01F4 brne .L374 5001 1d9e C3E0 ldi r28,lo8(3) 5002 1da0 D0E0 ldi r29,hi8(3) 5003 1da2 A7E0 ldi r26,lo8(7) 5004 1da4 AA2E mov r10,r26 5005 1da6 B12C mov r11,__zero_reg__ 5006 .L375: 5007 1da8 A501 movw r20,r10 5008 1daa 4C1B sub r20,r28 5009 1dac 5D0B sbc r21,r29 5010 .LM524: 5011 1dae CA01 movw r24,r20 5012 1db0 BA01 movw r22,r20 5013 1db2 9E01 movw r18,r28 5014 1db4 8E01 movw r16,r28 5015 .LVL387: 5016 1db6 7E01 movw r14,r28 5017 1db8 0E94 0000 call box_wireframe 5018 .LM525: 5019 1dbc C601 movw r24,r12 5020 1dbe 0E94 0000 call delay_ms 5021 .LM526: 5022 1dc2 80E0 ldi r24,lo8(0) 5023 1dc4 0E94 0000 call fill 5024 1dc8 2197 sbiw r28,1 5025 .LM527: 5026 1dca 8FEF ldi r24,hi8(-1) 5027 1dcc CF3F cpi r28,lo8(-1) 5028 1dce D807 cpc r29,r24 5029 1dd0 01F4 brne .L375 5030 1dd2 00C0 rjmp .L378 5031 .LVL388: 5032 .L374: 5033 1dd4 C0E0 ldi r28,lo8(0) 5034 1dd6 D0E0 ldi r29,hi8(0) 5035 1dd8 F7E0 ldi r31,lo8(7) 5036 1dda AF2E mov r10,r31 5037 1ddc B12C mov r11,__zero_reg__ 5038 .L377: 5039 1dde A501 movw r20,r10 5040 1de0 4C1B sub r20,r28 5041 1de2 5D0B sbc r21,r29 5042 .LM528: 5043 1de4 CA01 movw r24,r20 5044 1de6 BA01 movw r22,r20 5045 1de8 9E01 movw r18,r28 5046 1dea 8E01 movw r16,r28 5047 .LVL389: 5048 1dec 7E01 movw r14,r28 5049 1dee 0E94 0000 call box_wireframe 5050 .LM529: 5051 1df2 C601 movw r24,r12 5052 1df4 0E94 0000 call delay_ms 5053 .LM530: 5054 1df8 80E0 ldi r24,lo8(0) 5055 1dfa 0E94 0000 call fill 5056 1dfe 2196 adiw r28,1 5057 .LM531: 5058 1e00 C430 cpi r28,4 5059 1e02 D105 cpc r29,__zero_reg__ 5060 1e04 01F4 brne .L377 5061 .L378: 5062 /* epilogue start */ 5063 .LM532: 5064 1e06 DF91 pop r29 5065 1e08 CF91 pop r28 5066 1e0a 1F91 pop r17 5067 1e0c 0F91 pop r16 5068 1e0e FF90 pop r15 5069 1e10 EF90 pop r14 5070 1e12 DF90 pop r13 5071 1e14 CF90 pop r12 5072 .LVL390: 5073 1e16 BF90 pop r11 5074 1e18 AF90 pop r10 5075 1e1a 0895 ret 5076 .LFE9: 5078 .global effect_box_shrink_grow 5080 effect_box_shrink_grow: 5081 .LFB8: 5082 .LM533: 5083 .LVL391: 5084 1e1c 2F92 push r2 5085 1e1e 3F92 push r3 5086 1e20 4F92 push r4 5087 1e22 5F92 push r5 5088 1e24 6F92 push r6 5089 1e26 7F92 push r7 5090 1e28 8F92 push r8 5091 1e2a 9F92 push r9 5092 1e2c AF92 push r10 5093 1e2e BF92 push r11 5094 1e30 CF92 push r12 5095 1e32 DF92 push r13 5096 1e34 EF92 push r14 5097 1e36 FF92 push r15 5098 1e38 0F93 push r16 5099 1e3a 1F93 push r17 5100 1e3c DF93 push r29 5101 1e3e CF93 push r28 5102 1e40 CDB7 in r28,__SP_L__ 5103 1e42 DEB7 in r29,__SP_H__ 5104 1e44 2C97 sbiw r28,12 5105 1e46 0FB6 in __tmp_reg__,__SREG__ 5106 1e48 F894 cli 5107 1e4a DEBF out __SP_H__,r29 5108 1e4c 0FBE out __SREG__,__tmp_reg__ 5109 1e4e CDBF out __SP_L__,r28 5110 /* prologue: function */ 5111 /* frame size = 12 */ 5112 1e50 9C83 std Y+4,r25 5113 1e52 8B83 std Y+3,r24 5114 1e54 7E83 std Y+6,r23 5115 1e56 6D83 std Y+5,r22 5116 1e58 5887 std Y+8,r21 5117 1e5a 4F83 std Y+7,r20 5118 1e5c 3A87 std Y+10,r19 5119 1e5e 2987 std Y+9,r18 5120 .LM534: 5121 1e60 1A82 std Y+2,__zero_reg__ 5122 1e62 1982 std Y+1,__zero_reg__ 5123 .LVL392: 5124 1e64 8824 clr r8 5125 1e66 9924 clr r9 5126 .LVL393: 5127 1e68 AA24 clr r10 5128 1e6a BB24 clr r11 5129 .LVL394: 5130 1e6c CC24 clr r12 5131 1e6e DD24 clr r13 5132 .LVL395: 5133 1e70 2224 clr r2 5134 1e72 3324 clr r3 5135 .LVL396: 5136 1e74 4424 clr r4 5137 1e76 5524 clr r5 5138 .LVL397: 5139 1e78 6624 clr r6 5140 1e7a 7724 clr r7 5141 .LVL398: 5142 1e7c 00C0 rjmp .L382 5143 .LVL399: 5144 .L409: 5145 .LM535: 5146 1e7e 1C86 std Y+12,__zero_reg__ 5147 1e80 1B86 std Y+11,__zero_reg__ 5148 .L395: 5149 1e82 87E0 ldi r24,lo8(7) 5150 1e84 90E0 ldi r25,hi8(7) 5151 .LVL400: 5152 1e86 2B85 ldd r18,Y+11 5153 1e88 3C85 ldd r19,Y+12 5154 1e8a 821B sub r24,r18 5155 1e8c 930B sbc r25,r19 5156 .LM536: 5157 1e8e EF81 ldd r30,Y+7 5158 1e90 F885 ldd r31,Y+8 5159 1e92 3097 sbiw r30,0 5160 1e94 01F4 brne .+2 5161 1e96 00C0 rjmp .L383 5162 .LM537: 5163 1e98 3197 sbiw r30,1 5164 1e9a 01F4 brne .L384 5165 1e9c 6901 movw r12,r18 5166 1e9e 47E0 ldi r20,lo8(7) 5167 1ea0 642E mov r6,r20 5168 1ea2 712C mov r7,__zero_reg__ 5169 1ea4 00C0 rjmp .L385 5170 .LVL401: 5171 .L384: 5172 .LM538: 5173 1ea6 2F81 ldd r18,Y+7 5174 1ea8 3885 ldd r19,Y+8 5175 1eaa 2230 cpi r18,2 5176 1eac 3105 cpc r19,__zero_reg__ 5177 1eae 01F4 brne .L386 5178 1eb0 4B84 ldd r4,Y+11 5179 1eb2 5C84 ldd r5,Y+12 5180 1eb4 1C01 movw r2,r24 5181 1eb6 3C01 movw r6,r24 5182 1eb8 8824 clr r8 5183 1eba 9924 clr r9 5184 1ebc 37E0 ldi r19,lo8(7) 5185 1ebe A32E mov r10,r19 5186 1ec0 B12C mov r11,__zero_reg__ 5187 1ec2 CC24 clr r12 5188 1ec4 DD24 clr r13 5189 1ec6 00C0 rjmp .L387 5190 .LVL402: 5191 .L386: 5192 .LM539: 5193 1ec8 EF81 ldd r30,Y+7 5194 1eca F885 ldd r31,Y+8 5195 1ecc 3397 sbiw r30,3 5196 1ece 01F4 brne .L388 5197 1ed0 4B84 ldd r4,Y+11 5198 1ed2 5C84 ldd r5,Y+12 5199 1ed4 1C01 movw r2,r24 5200 1ed6 3201 movw r6,r4 5201 1ed8 8824 clr r8 5202 1eda 9924 clr r9 5203 1edc 27E0 ldi r18,lo8(7) 5204 1ede A22E mov r10,r18 5205 1ee0 B12C mov r11,__zero_reg__ 5206 1ee2 97E0 ldi r25,lo8(7) 5207 1ee4 C92E mov r12,r25 5208 1ee6 D12C mov r13,__zero_reg__ 5209 1ee8 00C0 rjmp .L389 5210 .LVL403: 5211 .L388: 5212 .LM540: 5213 1eea 2F81 ldd r18,Y+7 5214 1eec 3885 ldd r19,Y+8 5215 1eee 2430 cpi r18,4 5216 1ef0 3105 cpc r19,__zero_reg__ 5217 1ef2 01F4 brne .L390 5218 1ef4 2B84 ldd r2,Y+11 5219 1ef6 3C84 ldd r3,Y+12 5220 1ef8 2C01 movw r4,r24 5221 1efa 3C01 movw r6,r24 5222 1efc 87E0 ldi r24,lo8(7) 5223 1efe 882E mov r8,r24 5224 1f00 912C mov r9,__zero_reg__ 5225 .LVL404: 5226 1f02 AA24 clr r10 5227 1f04 BB24 clr r11 5228 1f06 00C0 rjmp .L415 5229 .LVL405: 5230 .L390: 5231 .LM541: 5232 1f08 EF81 ldd r30,Y+7 5233 1f0a F885 ldd r31,Y+8 5234 1f0c 3597 sbiw r30,5 5235 1f0e 01F4 brne .L387 5236 1f10 2B84 ldd r2,Y+11 5237 1f12 3C84 ldd r3,Y+12 5238 1f14 2C01 movw r4,r24 5239 1f16 3101 movw r6,r2 5240 1f18 07E0 ldi r16,lo8(7) 5241 1f1a 802E mov r8,r16 5242 1f1c 912C mov r9,__zero_reg__ 5243 1f1e AA24 clr r10 5244 1f20 BB24 clr r11 5245 1f22 00C0 rjmp .L414 5246 .LVL406: 5247 .L387: 5248 .LM542: 5249 1f24 2F81 ldd r18,Y+7 5250 1f26 3885 ldd r19,Y+8 5251 1f28 2630 cpi r18,6 5252 1f2a 3105 cpc r19,__zero_reg__ 5253 1f2c 01F4 brne .L389 5254 1f2e 2B84 ldd r2,Y+11 5255 1f30 3C84 ldd r3,Y+12 5256 1f32 2101 movw r4,r2 5257 1f34 3C01 movw r6,r24 5258 1f36 17E0 ldi r17,lo8(7) 5259 1f38 812E mov r8,r17 5260 1f3a 912C mov r9,__zero_reg__ 5261 1f3c B7E0 ldi r27,lo8(7) 5262 1f3e AB2E mov r10,r27 5263 1f40 B12C mov r11,__zero_reg__ 5264 .L415: 5265 1f42 CC24 clr r12 5266 1f44 DD24 clr r13 5267 1f46 00C0 rjmp .L391 5268 .LVL407: 5269 .L389: 5270 .LM543: 5271 1f48 8F81 ldd r24,Y+7 5272 1f4a 9885 ldd r25,Y+8 5273 .LVL408: 5274 1f4c 0797 sbiw r24,7 5275 1f4e 01F4 brne .L391 5276 1f50 2B84 ldd r2,Y+11 5277 1f52 3C84 ldd r3,Y+12 5278 1f54 2101 movw r4,r2 5279 1f56 3101 movw r6,r2 5280 1f58 A7E0 ldi r26,lo8(7) 5281 1f5a 8A2E mov r8,r26 5282 1f5c 912C mov r9,__zero_reg__ 5283 1f5e F7E0 ldi r31,lo8(7) 5284 1f60 AF2E mov r10,r31 5285 1f62 B12C mov r11,__zero_reg__ 5286 .LVL409: 5287 .L414: 5288 1f64 E7E0 ldi r30,lo8(7) 5289 1f66 CE2E mov r12,r30 5290 1f68 D12C mov r13,__zero_reg__ 5291 .L391: 5292 .LM544: 5293 1f6a ED81 ldd r30,Y+5 5294 1f6c FE81 ldd r31,Y+6 5295 1f6e 3397 sbiw r30,3 5296 1f70 01F4 brne .L392 5297 .LM545: 5298 1f72 C401 movw r24,r8 5299 .LVL410: 5300 1f74 B501 movw r22,r10 5301 1f76 A601 movw r20,r12 5302 1f78 9101 movw r18,r2 5303 1f7a 8201 movw r16,r4 5304 1f7c 7301 movw r14,r6 5305 1f7e 0E94 0000 call box_filled 5306 1f82 00C0 rjmp .L393 5307 .LVL411: 5308 .L392: 5309 .LM546: 5310 1f84 2D81 ldd r18,Y+5 5311 1f86 3E81 ldd r19,Y+6 5312 1f88 2230 cpi r18,2 5313 1f8a 3105 cpc r19,__zero_reg__ 5314 1f8c 01F4 brne .L394 5315 .LM547: 5316 1f8e C401 movw r24,r8 5317 .LVL412: 5318 1f90 B501 movw r22,r10 5319 1f92 A601 movw r20,r12 5320 1f94 9101 movw r18,r2 5321 1f96 8201 movw r16,r4 5322 1f98 7301 movw r14,r6 5323 1f9a 0E94 0000 call box_walls 5324 1f9e 00C0 rjmp .L393 5325 .LVL413: 5326 .L394: 5327 .LM548: 5328 1fa0 C401 movw r24,r8 5329 .LVL414: 5330 1fa2 B501 movw r22,r10 5331 1fa4 A601 movw r20,r12 5332 1fa6 9101 movw r18,r2 5333 1fa8 8201 movw r16,r4 5334 1faa 7301 movw r14,r6 5335 1fac 0E94 0000 call box_wireframe 5336 .L393: 5337 .LM549: 5338 1fb0 8985 ldd r24,Y+9 5339 1fb2 9A85 ldd r25,Y+10 5340 1fb4 0E94 0000 call delay_ms 5341 .LM550: 5342 1fb8 80E0 ldi r24,lo8(0) 5343 1fba 0E94 0000 call fill 5344 1fbe 8B85 ldd r24,Y+11 5345 1fc0 9C85 ldd r25,Y+12 5346 1fc2 0196 adiw r24,1 5347 1fc4 9C87 std Y+12,r25 5348 1fc6 8B87 std Y+11,r24 5349 .LM551: 5350 1fc8 0897 sbiw r24,8 5351 1fca 01F0 breq .+2 5352 1fcc 00C0 rjmp .L395 5353 1fce E7E0 ldi r30,lo8(7) 5354 1fd0 F0E0 ldi r31,hi8(7) 5355 1fd2 FC87 std Y+12,r31 5356 1fd4 EB87 std Y+11,r30 5357 .L408: 5358 1fd6 87E0 ldi r24,lo8(7) 5359 1fd8 90E0 ldi r25,hi8(7) 5360 .LVL415: 5361 1fda 2B85 ldd r18,Y+11 5362 1fdc 3C85 ldd r19,Y+12 5363 1fde 821B sub r24,r18 5364 1fe0 930B sbc r25,r19 5365 .LM552: 5366 1fe2 EF81 ldd r30,Y+7 5367 1fe4 F885 ldd r31,Y+8 5368 1fe6 3097 sbiw r30,0 5369 1fe8 01F4 brne .+2 5370 1fea 00C0 rjmp .L396 5371 .LM553: 5372 1fec 3197 sbiw r30,1 5373 1fee 01F4 brne .L397 5374 1ff0 6901 movw r12,r18 5375 1ff2 77E0 ldi r23,lo8(7) 5376 1ff4 672E mov r6,r23 5377 1ff6 712C mov r7,__zero_reg__ 5378 1ff8 00C0 rjmp .L398 5379 .L397: 5380 .LM554: 5381 1ffa 2F81 ldd r18,Y+7 5382 1ffc 3885 ldd r19,Y+8 5383 1ffe 2230 cpi r18,2 5384 2000 3105 cpc r19,__zero_reg__ 5385 2002 01F4 brne .L399 5386 2004 4B84 ldd r4,Y+11 5387 2006 5C84 ldd r5,Y+12 5388 2008 1C01 movw r2,r24 5389 200a 3C01 movw r6,r24 5390 200c 8824 clr r8 5391 200e 9924 clr r9 5392 2010 67E0 ldi r22,lo8(7) 5393 2012 A62E mov r10,r22 5394 2014 B12C mov r11,__zero_reg__ 5395 2016 CC24 clr r12 5396 2018 DD24 clr r13 5397 201a 00C0 rjmp .L400 5398 .LVL416: 5399 .L399: 5400 .LM555: 5401 201c EF81 ldd r30,Y+7 5402 201e F885 ldd r31,Y+8 5403 2020 3397 sbiw r30,3 5404 2022 01F4 brne .L401 5405 2024 4B84 ldd r4,Y+11 5406 2026 5C84 ldd r5,Y+12 5407 2028 1C01 movw r2,r24 5408 202a 3201 movw r6,r4 5409 202c 8824 clr r8 5410 202e 9924 clr r9 5411 2030 57E0 ldi r21,lo8(7) 5412 2032 A52E mov r10,r21 5413 2034 B12C mov r11,__zero_reg__ 5414 2036 47E0 ldi r20,lo8(7) 5415 2038 C42E mov r12,r20 5416 203a D12C mov r13,__zero_reg__ 5417 203c 00C0 rjmp .L402 5418 .LVL417: 5419 .L401: 5420 .LM556: 5421 203e 2F81 ldd r18,Y+7 5422 2040 3885 ldd r19,Y+8 5423 2042 2430 cpi r18,4 5424 2044 3105 cpc r19,__zero_reg__ 5425 2046 01F4 brne .L403 5426 2048 2B84 ldd r2,Y+11 5427 204a 3C84 ldd r3,Y+12 5428 204c 2C01 movw r4,r24 5429 204e 3C01 movw r6,r24 5430 2050 37E0 ldi r19,lo8(7) 5431 2052 832E mov r8,r19 5432 2054 912C mov r9,__zero_reg__ 5433 2056 AA24 clr r10 5434 2058 BB24 clr r11 5435 205a 00C0 rjmp .L417 5436 .LVL418: 5437 .L403: 5438 .LM557: 5439 205c EF81 ldd r30,Y+7 5440 205e F885 ldd r31,Y+8 5441 2060 3597 sbiw r30,5 5442 2062 01F4 brne .L400 5443 2064 2B84 ldd r2,Y+11 5444 2066 3C84 ldd r3,Y+12 5445 2068 2C01 movw r4,r24 5446 206a 3101 movw r6,r2 5447 206c 27E0 ldi r18,lo8(7) 5448 206e 822E mov r8,r18 5449 2070 912C mov r9,__zero_reg__ 5450 2072 AA24 clr r10 5451 2074 BB24 clr r11 5452 2076 00C0 rjmp .L416 5453 .LVL419: 5454 .L400: 5455 .LM558: 5456 2078 2F81 ldd r18,Y+7 5457 207a 3885 ldd r19,Y+8 5458 207c 2630 cpi r18,6 5459 207e 3105 cpc r19,__zero_reg__ 5460 2080 01F4 brne .L402 5461 2082 2B84 ldd r2,Y+11 5462 2084 3C84 ldd r3,Y+12 5463 2086 2101 movw r4,r2 5464 2088 3C01 movw r6,r24 5465 208a 97E0 ldi r25,lo8(7) 5466 208c 892E mov r8,r25 5467 208e 912C mov r9,__zero_reg__ 5468 2090 87E0 ldi r24,lo8(7) 5469 2092 A82E mov r10,r24 5470 2094 B12C mov r11,__zero_reg__ 5471 .LVL420: 5472 .L417: 5473 2096 CC24 clr r12 5474 2098 DD24 clr r13 5475 209a 00C0 rjmp .L404 5476 .LVL421: 5477 .L402: 5478 .LM559: 5479 209c 8F81 ldd r24,Y+7 5480 209e 9885 ldd r25,Y+8 5481 .LVL422: 5482 20a0 0797 sbiw r24,7 5483 20a2 01F4 brne .L404 5484 20a4 2B84 ldd r2,Y+11 5485 20a6 3C84 ldd r3,Y+12 5486 20a8 2101 movw r4,r2 5487 20aa 3101 movw r6,r2 5488 20ac 07E0 ldi r16,lo8(7) 5489 20ae 802E mov r8,r16 5490 20b0 912C mov r9,__zero_reg__ 5491 20b2 17E0 ldi r17,lo8(7) 5492 20b4 A12E mov r10,r17 5493 20b6 B12C mov r11,__zero_reg__ 5494 .LVL423: 5495 .L416: 5496 20b8 B7E0 ldi r27,lo8(7) 5497 20ba CB2E mov r12,r27 5498 20bc D12C mov r13,__zero_reg__ 5499 .LVL424: 5500 .L404: 5501 .LM560: 5502 20be ED81 ldd r30,Y+5 5503 20c0 FE81 ldd r31,Y+6 5504 20c2 3397 sbiw r30,3 5505 20c4 01F4 brne .L405 5506 .LM561: 5507 20c6 C401 movw r24,r8 5508 .LVL425: 5509 20c8 B501 movw r22,r10 5510 20ca A601 movw r20,r12 5511 20cc 9101 movw r18,r2 5512 20ce 8201 movw r16,r4 5513 20d0 7301 movw r14,r6 5514 20d2 0E94 0000 call box_filled 5515 20d6 00C0 rjmp .L406 5516 .LVL426: 5517 .L405: 5518 .LM562: 5519 20d8 2D81 ldd r18,Y+5 5520 20da 3E81 ldd r19,Y+6 5521 20dc 2230 cpi r18,2 5522 20de 3105 cpc r19,__zero_reg__ 5523 20e0 01F4 brne .L407 5524 .LM563: 5525 20e2 C401 movw r24,r8 5526 .LVL427: 5527 20e4 B501 movw r22,r10 5528 20e6 A601 movw r20,r12 5529 20e8 9101 movw r18,r2 5530 20ea 8201 movw r16,r4 5531 20ec 7301 movw r14,r6 5532 20ee 0E94 0000 call box_walls 5533 20f2 00C0 rjmp .L406 5534 .LVL428: 5535 .L407: 5536 .LM564: 5537 20f4 C401 movw r24,r8 5538 .LVL429: 5539 20f6 B501 movw r22,r10 5540 20f8 A601 movw r20,r12 5541 20fa 9101 movw r18,r2 5542 20fc 8201 movw r16,r4 5543 20fe 7301 movw r14,r6 5544 2100 0E94 0000 call box_wireframe 5545 .L406: 5546 .LM565: 5547 2104 8985 ldd r24,Y+9 5548 2106 9A85 ldd r25,Y+10 5549 2108 0E94 0000 call delay_ms 5550 .LM566: 5551 210c 80E0 ldi r24,lo8(0) 5552 210e 0E94 0000 call fill 5553 2112 8B85 ldd r24,Y+11 5554 2114 9C85 ldd r25,Y+12 5555 2116 0197 sbiw r24,1 5556 2118 9C87 std Y+12,r25 5557 211a 8B87 std Y+11,r24 5558 .LM567: 5559 211c 8F5F subi r24,lo8(-1) 5560 211e 9F4F sbci r25,hi8(-1) 5561 2120 01F0 breq .+2 5562 2122 00C0 rjmp .L408 5563 .LM568: 5564 2124 2981 ldd r18,Y+1 5565 2126 3A81 ldd r19,Y+2 5566 2128 2F5F subi r18,lo8(-(1)) 5567 212a 3F4F sbci r19,hi8(-(1)) 5568 212c 3A83 std Y+2,r19 5569 212e 2983 std Y+1,r18 5570 .LVL430: 5571 .L382: 5572 2130 8981 ldd r24,Y+1 5573 2132 9A81 ldd r25,Y+2 5574 2134 EB81 ldd r30,Y+3 5575 2136 FC81 ldd r31,Y+4 5576 2138 8E17 cp r24,r30 5577 213a 9F07 cpc r25,r31 5578 213c 04F4 brge .+2 5579 213e 00C0 rjmp .L409 5580 2140 00C0 rjmp .L418 5581 .LVL431: 5582 .L383: 5583 .LM569: 5584 2142 3C01 movw r6,r24 5585 2144 CC24 clr r12 5586 2146 DD24 clr r13 5587 .L385: 5588 2148 1C01 movw r2,r24 5589 214a 2C01 movw r4,r24 5590 214c 8824 clr r8 5591 214e 9924 clr r9 5592 2150 AA24 clr r10 5593 2152 BB24 clr r11 5594 2154 00C0 rjmp .L390 5595 .LVL432: 5596 .L396: 5597 2156 3C01 movw r6,r24 5598 2158 CC24 clr r12 5599 215a DD24 clr r13 5600 .L398: 5601 215c 1C01 movw r2,r24 5602 215e 2C01 movw r4,r24 5603 2160 8824 clr r8 5604 2162 9924 clr r9 5605 2164 AA24 clr r10 5606 2166 BB24 clr r11 5607 2168 00C0 rjmp .L403 5608 .LVL433: 5609 .L418: 5610 /* epilogue start */ 5611 216a 2C96 adiw r28,12 5612 216c 0FB6 in __tmp_reg__,__SREG__ 5613 216e F894 cli 5614 2170 DEBF out __SP_H__,r29 5615 2172 0FBE out __SREG__,__tmp_reg__ 5616 2174 CDBF out __SP_L__,r28 5617 2176 CF91 pop r28 5618 2178 DF91 pop r29 5619 217a 1F91 pop r17 5620 217c 0F91 pop r16 5621 217e FF90 pop r15 5622 2180 EF90 pop r14 5623 2182 DF90 pop r13 5624 2184 CF90 pop r12 5625 .LVL434: 5626 2186 BF90 pop r11 5627 2188 AF90 pop r10 5628 .LVL435: 5629 218a 9F90 pop r9 5630 218c 8F90 pop r8 5631 .LVL436: 5632 218e 7F90 pop r7 5633 2190 6F90 pop r6 5634 .LVL437: 5635 2192 5F90 pop r5 5636 2194 4F90 pop r4 5637 .LVL438: 5638 2196 3F90 pop r3 5639 2198 2F90 pop r2 5640 .LVL439: 5641 219a 0895 ret 5642 .LFE8: 5644 .global effect_planboing 5646 effect_planboing: 5647 .LFB6: 5648 .LM570: 5649 .LVL440: 5650 219c EF92 push r14 5651 219e FF92 push r15 5652 21a0 0F93 push r16 5653 21a2 1F93 push r17 5654 21a4 CF93 push r28 5655 21a6 DF93 push r29 5656 /* prologue: function */ 5657 /* frame size = 0 */ 5658 21a8 8C01 movw r16,r24 5659 21aa 7B01 movw r14,r22 5660 .LVL441: 5661 .LM571: 5662 21ac C0E0 ldi r28,lo8(0) 5663 21ae D0E0 ldi r29,hi8(0) 5664 .LVL442: 5665 .L423: 5666 .LM572: 5667 21b0 80E0 ldi r24,lo8(0) 5668 21b2 0E94 0000 call fill 5669 .LM573: 5670 21b6 0A37 cpi r16,122 5671 21b8 1105 cpc r17,__zero_reg__ 5672 21ba 01F4 brne .L420 5673 .LM574: 5674 21bc CE01 movw r24,r28 5675 21be 0E94 0000 call setplane_z 5676 21c2 00C0 rjmp .L421 5677 .L420: 5678 .LM575: 5679 21c4 0837 cpi r16,120 5680 21c6 1105 cpc r17,__zero_reg__ 5681 21c8 01F4 brne .L422 5682 .LM576: 5683 21ca CE01 movw r24,r28 5684 21cc 0E94 0000 call setplane_x 5685 21d0 00C0 rjmp .L421 5686 .L422: 5687 .LM577: 5688 21d2 0937 cpi r16,121 5689 21d4 1105 cpc r17,__zero_reg__ 5690 21d6 01F4 brne .L421 5691 .LM578: 5692 21d8 CE01 movw r24,r28 5693 21da 0E94 0000 call setplane_y 5694 .L421: 5695 .LM579: 5696 21de C701 movw r24,r14 5697 21e0 0E94 0000 call delay_ms 5698 .LM580: 5699 21e4 2196 adiw r28,1 5700 21e6 C830 cpi r28,8 5701 21e8 D105 cpc r29,__zero_reg__ 5702 21ea 01F4 brne .L423 5703 21ec C7E0 ldi r28,lo8(7) 5704 21ee D0E0 ldi r29,hi8(7) 5705 .LVL443: 5706 .L427: 5707 .LM581: 5708 21f0 80E0 ldi r24,lo8(0) 5709 21f2 0E94 0000 call fill 5710 .LM582: 5711 21f6 0A37 cpi r16,122 5712 21f8 1105 cpc r17,__zero_reg__ 5713 21fa 01F4 brne .L424 5714 .LM583: 5715 21fc CE01 movw r24,r28 5716 21fe 0E94 0000 call setplane_z 5717 2202 00C0 rjmp .L425 5718 .L424: 5719 .LM584: 5720 2204 0837 cpi r16,120 5721 2206 1105 cpc r17,__zero_reg__ 5722 2208 01F4 brne .L426 5723 .LM585: 5724 220a CE01 movw r24,r28 5725 220c 0E94 0000 call setplane_x 5726 2210 00C0 rjmp .L425 5727 .L426: 5728 .LM586: 5729 2212 0937 cpi r16,121 5730 2214 1105 cpc r17,__zero_reg__ 5731 2216 01F4 brne .L425 5732 .LM587: 5733 2218 CE01 movw r24,r28 5734 221a 0E94 0000 call setplane_y 5735 .L425: 5736 .LM588: 5737 221e C701 movw r24,r14 5738 2220 0E94 0000 call delay_ms 5739 .LM589: 5740 2224 2197 sbiw r28,1 5741 2226 8FEF ldi r24,hi8(-1) 5742 2228 CF3F cpi r28,lo8(-1) 5743 222a D807 cpc r29,r24 5744 222c 01F4 brne .L427 5745 /* epilogue start */ 5746 .LM590: 5747 222e DF91 pop r29 5748 2230 CF91 pop r28 5749 .LVL444: 5750 2232 1F91 pop r17 5751 2234 0F91 pop r16 5752 .LVL445: 5753 2236 FF90 pop r15 5754 2238 EF90 pop r14 5755 223a 0895 ret 5756 .LFE6: 5758 .global effect_test 5760 effect_test: 5761 .LFB4: 5762 .LM591: 5763 223c AF92 push r10 5764 223e BF92 push r11 5765 2240 CF92 push r12 5766 2242 DF92 push r13 5767 2244 EF92 push r14 5768 2246 FF92 push r15 5769 2248 0F93 push r16 5770 224a 1F93 push r17 5771 224c CF93 push r28 5772 224e DF93 push r29 5773 /* prologue: function */ 5774 /* frame size = 0 */ 5775 .LM592: 5776 2250 C0E0 ldi r28,lo8(0) 5777 2252 D0E0 ldi r29,hi8(0) 5778 .LVL446: 5779 .L432: 5780 .LM593: 5781 2254 BE01 movw r22,r28 5782 2256 53E0 ldi r21,3 5783 2258 7595 1: asr r23 5784 225a 6795 ror r22 5785 225c 5A95 dec r21 5786 225e 01F4 brne 1b 5787 2260 8827 clr r24 5788 2262 77FD sbrc r23,7 5789 2264 8095 com r24 5790 2266 982F mov r25,r24 5791 2268 0E94 0000 call __floatsisf 5792 226c 7B01 movw r14,r22 5793 226e 8C01 movw r16,r24 5794 2270 0E94 0000 call sin 5795 2274 9B01 movw r18,r22 5796 2276 AC01 movw r20,r24 5797 2278 0E94 0000 call __addsf3 5798 227c 20E0 ldi r18,lo8(0x40600000) 5799 227e 30E0 ldi r19,hi8(0x40600000) 5800 2280 40E6 ldi r20,hlo8(0x40600000) 5801 2282 50E4 ldi r21,hhi8(0x40600000) 5802 2284 0E94 0000 call __addsf3 5803 2288 0E94 0000 call __fixsfsi 5804 228c 5B01 movw r10,r22 5805 228e 6C01 movw r12,r24 5806 .LM594: 5807 2290 C801 movw r24,r16 5808 2292 B701 movw r22,r14 5809 2294 0E94 0000 call cos 5810 2298 9B01 movw r18,r22 5811 229a AC01 movw r20,r24 5812 229c 0E94 0000 call __addsf3 5813 22a0 20E0 ldi r18,lo8(0x40600000) 5814 22a2 30E0 ldi r19,hi8(0x40600000) 5815 22a4 40E6 ldi r20,hlo8(0x40600000) 5816 22a6 50E4 ldi r21,hhi8(0x40600000) 5817 22a8 0E94 0000 call __addsf3 5818 22ac 0E94 0000 call __fixsfsi 5819 22b0 7B01 movw r14,r22 5820 22b2 8C01 movw r16,r24 5821 .LM595: 5822 22b4 C501 movw r24,r10 5823 22b6 B701 movw r22,r14 5824 22b8 41E0 ldi r20,lo8(1) 5825 22ba 50E0 ldi r21,hi8(1) 5826 22bc 0E94 0000 call setvoxel 5827 .LM596: 5828 22c0 C501 movw r24,r10 5829 22c2 B701 movw r22,r14 5830 22c4 41E0 ldi r20,lo8(1) 5831 22c6 50E0 ldi r21,hi8(1) 5832 22c8 0E94 0000 call setvoxel 5833 .LM597: 5834 22cc 88EE ldi r24,lo8(1000) 5835 22ce 93E0 ldi r25,hi8(1000) 5836 22d0 0E94 0000 call delay_ms 5837 .LM598: 5838 22d4 80E0 ldi r24,lo8(0) 5839 22d6 0E94 0000 call fill 5840 .LM599: 5841 22da 2196 adiw r28,1 5842 22dc 83E0 ldi r24,hi8(1000) 5843 22de C83E cpi r28,lo8(1000) 5844 22e0 D807 cpc r29,r24 5845 22e2 01F0 breq .+2 5846 22e4 00C0 rjmp .L432 5847 /* epilogue start */ 5848 .LM600: 5849 22e6 DF91 pop r29 5850 22e8 CF91 pop r28 5851 .LVL447: 5852 22ea 1F91 pop r17 5853 22ec 0F91 pop r16 5854 22ee FF90 pop r15 5855 22f0 EF90 pop r14 5856 22f2 DF90 pop r13 5857 22f4 CF90 pop r12 5858 22f6 BF90 pop r11 5859 22f8 AF90 pop r10 5860 22fa 0895 ret 5861 .LFE4: 5863 .data 5866 C.30.2453: 5867 0000 00 .byte 0 5868 0001 01 .byte 1 5869 0002 02 .byte 2 5870 0003 03 .byte 3 5871 0004 04 .byte 4 5872 0005 05 .byte 5 5873 0006 06 .byte 6 5874 0007 07 .byte 7 5875 0008 01 .byte 1 5876 0009 01 .byte 1 5877 000a 02 .byte 2 5878 000b 03 .byte 3 5879 000c 04 .byte 4 5880 000d 05 .byte 5 5881 000e 06 .byte 6 5882 000f 06 .byte 6 5883 0010 02 .byte 2 5884 0011 02 .byte 2 5885 0012 03 .byte 3 5886 0013 03 .byte 3 5887 0014 04 .byte 4 5888 0015 04 .byte 4 5889 0016 05 .byte 5 5890 0017 05 .byte 5 5891 0018 03 .byte 3 5892 0019 03 .byte 3 5893 001a 03 .byte 3 5894 001b 03 .byte 3 5895 001c 04 .byte 4 5896 001d 04 .byte 4 5897 001e 04 .byte 4 5898 001f 04 .byte 4 5899 .comm cube,64,1 5900 .comm fb,64,1 6149 .Letext0: DEFINED SYMBOLS *ABS*:0000000000000000 effect.c /tmp/ccaJZNIL.s:2 *ABS*:000000000000003f __SREG__ /tmp/ccaJZNIL.s:3 *ABS*:000000000000003e __SP_H__ /tmp/ccaJZNIL.s:4 *ABS*:000000000000003d __SP_L__ /tmp/ccaJZNIL.s:5 *ABS*:0000000000000034 __CCP__ /tmp/ccaJZNIL.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccaJZNIL.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccaJZNIL.s:20 .text:0000000000000000 effect_telcstairs_do *COM*:0000000000000040 cube /tmp/ccaJZNIL.s:84 .text:000000000000004a effect_telcstairs /tmp/ccaJZNIL.s:146 .text:000000000000008c sendvoxel_z /tmp/ccaJZNIL.s:255 .text:000000000000012a effect_pathmove /tmp/ccaJZNIL.s:374 .text:00000000000001d6 effect_path_bitmap /tmp/ccaJZNIL.s:562 .text:00000000000002fe effect_path_text /tmp/ccaJZNIL.s:762 .text:0000000000000442 effect_pathspiral /tmp/ccaJZNIL.s:861 .text:00000000000004dc effect_rand_patharound /tmp/ccaJZNIL.s:994 .text:00000000000005ae effect_stringfly2 /tmp/ccaJZNIL.s:1348 .text:00000000000007d0 effect_smileyspin /tmp/ccaJZNIL.s:5866 .data:0000000000000000 C.30.2453 /tmp/ccaJZNIL.s:2067 .text:0000000000000c1a effect_random_sparkle_flash /tmp/ccaJZNIL.s:2174 .text:0000000000000cc4 effect_random_sparkle /tmp/ccaJZNIL.s:2219 .text:0000000000000cfa effect_loadbar /tmp/ccaJZNIL.s:2349 .text:0000000000000da8 draw_positions_axis /tmp/ccaJZNIL.s:2504 .text:0000000000000e7c effect_boxside_randsend_parallel /tmp/ccaJZNIL.s:2747 .text:0000000000000ff0 effect_axis_updown_randsuspend /tmp/ccaJZNIL.s:2989 .text:0000000000001166 effect_z_updown_move /tmp/ccaJZNIL.s:3045 .text:00000000000011a4 effect_z_updown /tmp/ccaJZNIL.s:3270 .text:0000000000001310 effect_random_filler /tmp/ccaJZNIL.s:3401 .text:00000000000013e4 sendvoxels_rand_z /tmp/ccaJZNIL.s:3567 .text:00000000000014ce effect_blinky2 /tmp/ccaJZNIL.s:3687 .text:0000000000001590 effect_wormsqueeze /tmp/ccaJZNIL.s:3974 .text:000000000000174c effect_rain /tmp/ccaJZNIL.s:4078 .text:00000000000017ea boingboing /tmp/ccaJZNIL.s:4891 .text:0000000000001cfc sendplane_rand_z /tmp/ccaJZNIL.s:4974 .text:0000000000001d7a effect_box_woopwoop /tmp/ccaJZNIL.s:5080 .text:0000000000001e1c effect_box_shrink_grow /tmp/ccaJZNIL.s:5646 .text:000000000000219c effect_planboing /tmp/ccaJZNIL.s:5760 .text:000000000000223c effect_test *COM*:0000000000000040 fb UNDEFINED SYMBOLS __do_copy_data __do_clear_bss delay_ms clrvoxel setvoxel getvoxel altervoxel font_getpath font_getbitmappixel font_getchar rand __divmodhi4 fill shift flpvoxel setplane_z box_wireframe box_filled box_walls setplane_x setplane_y __floatsisf sin __addsf3 __fixsfsi cos