Hacking the iCruze Display |
avrdude> part >>> part AVR Part : ATTINY26 Chip Erase delay : 9000 us PAGEL : PB3 BS2 : PB2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 4 10 64 0 no 128 0 0 9000 9000 0xff 0xff flash 33 6 16 0 yes 2048 32 64 4500 4500 0xff 0xff signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00 >>> dump flash 0 2000 0000 0c c0 00 00 00 00 00 00 00 00 06 c0 74 c1 00 00 | ...........t...| 0010 00 00 00 00 00 00 00 00 00 c0 0f ef 0a bb 0a e7 |............ . .| 0020 07 bb c0 9a c2 9a 0f ed 0d bf c4 98 c3 98 c5 98 |........ .......| 0030 e6 d0 16 d1 1c d1 44 24 c4 d0 7a d1 79 d1 b0 99 |......D$..z.y...| 0040 36 c0 b2 99 34 c0 60 d1 b0 99 31 c0 b2 99 2f c0 |6...4.`...1.../.| 0050 93 c1 4d 4f 4e 53 54 45 52 20 2a 20 4d 4f 4e 53 |..MONSTER * MONS| 0060 54 45 52 20 2a 2a 0d 69 43 52 55 5a 45 20 69 43 |TER ** iCRUZE iC| 0070 52 55 5a 45 20 20 20 53 56 31 59 aa 53 44 41 20 |RUZE SV1Y.SDA | 0080 69 73 20 48 69 67 68 aa 20 0d 53 43 4b 20 69 73 |is High. SCK is| 0090 20 48 69 67 68 aa 53 44 41 20 69 73 20 48 69 67 | High.SDA is Hig| 00a0 68 0d 53 43 4b 20 69 73 20 48 69 67 68 aa 0e e7 |h SCK is High...| 00b0 07 bb c2 98 3d d1 a8 95 0e e0 01 bd 0e e7 07 bb |....=...........| 00c0 c2 98 36 d1 35 d1 0a e7 07 bb c2 9a 04 d1 6f d0 |..6.5. .......o.| 00d0 50 e0 46 fa 46 f0 f0 e0 e0 e6 07 c0 e8 94 47 f8 |P.F.F.........G.| 00e0 66 d0 26 d1 eb cf f0 e0 e8 e8 72 d0 53 95 0f 3f |f.&.......r.S..?| 00f0 71 f3 01 93 79 d0 47 fa 8e f3 53 95 0f 3f 39 f3 |q...y.G...S..?9.| 0100 01 93 58 32 b9 f7 70 d0 70 2f 0e e7 07 bb c2 98 |..X2..p.p/......| 0110 1f d0 78 17 49 f4 ec d0 09 d0 44 fa 0e f4 27 d0 |..x.I... .D...'.| 0120 0a e7 07 bb c2 9a d3 cf d4 d0 fa cf f0 e0 e0 e6 | ...............| 0130 d0 e0 c8 e8 50 e0 53 95 09 91 11 91 59 32 29 f0 |....P.S. ...Y2).| 0140 01 17 c9 f3 68 94 44 f8 08 95 e8 94 44 f8 08 95 |....h.D.....D...| 0150 80 e0 46 fa 1e f0 f0 e0 e0 e6 02 c0 f0 e0 e8 e8 |..F.............| 0160 50 e0 01 91 80 27 53 95 58 32 d9 f7 08 95 46 fa |P....'S.X2....F.| 0170 1e f0 f0 e0 e0 e6 02 c0 f0 e0 e8 e8 78 d0 50 e0 |............x.P.| 0180 01 91 00 38 09 f4 0f ef 9f d0 54 31 c9 f7 73 d0 |...8 .....T1..s.| 0190 50 e0 01 91 00 38 09 f4 0f ef 96 d0 54 31 c9 f7 |P....8 .....T1..| 01a0 1e f0 68 94 46 f8 08 95 e8 94 46 f8 08 95 1f e7 |..h.F.....F.....| 01b0 c6 9a a8 95 1a 95 19 f0 b2 99 fa cf f8 cf c6 98 |................| 01c0 08 95 f0 e0 e0 e6 00 e2 01 93 e0 3b e9 f7 08 95 |...........;....| 01d0 18 e2 1d b9 10 e4 1e b9 76 99 04 c0 a8 95 47 fa |........v.....G.| 01e0 16 f0 fa cf 0f b1 08 95 18 e2 1d b9 10 e4 1e b9 |................| 01f0 76 99 f8 cf 47 fa be f3 fb cf 0f b1 08 95 c4 98 |v...G...........| 0200 c3 98 c5 98 a2 d0 08 e3 0b bb c5 9a 87 d0 c5 98 |........ .......| 0210 91 d0 c5 9a 83 d0 c5 98 8b d0 c5 9a 7f d0 c5 98 |................| 0220 87 d0 c5 9a 7b d0 c5 98 08 e0 0b bb c5 9a 76 d0 |....{..... ...v.| 0230 c5 98 6a d0 01 e0 0b bb c5 9a 70 d0 c5 98 64 d0 |..j... ...p...d.| 0240 06 e0 0b bb c5 9a 6a d0 c5 98 74 d0 08 95 0f e0 |.. ...j...t.....| 0250 0b bb c3 98 00 00 c5 9a 61 d0 c5 98 5a d0 08 95 | .......a...Z...| 0260 0c e0 0b bb f6 cf 00 e8 0b bb 1c d0 0e d0 00 e8 | . ..... .......| 0270 0b bb 18 d0 08 95 00 ec fb cf 00 ec 0b bb 12 d0 | ........... ...| 0280 04 d0 00 ec 0b bb 0e d0 08 95 00 e2 0b bb 10 e0 |.... ....... ...| 0290 c3 9a 00 00 c5 9a 42 d0 c5 98 3b d0 13 95 14 31 |......B...;....1| 02a0 c9 f7 08 95 c3 98 00 00 c5 9a 38 d0 c5 98 31 d0 |..........8...1.| 02b0 08 95 c3 9a 00 00 c5 9a 36 d0 35 d0 c5 98 29 d0 |........6.5...).| 02c0 08 95 db df d0 df 08 95 0b bb 53 95 f2 cf 0b ba |........ .S... .| 02d0 f0 cf a1 e1 01 c0 a3 e3 e8 94 47 f8 08 e0 03 bf |..........G.....| 02e0 00 27 02 bf 02 e0 09 bf 78 94 05 e0 03 bf 08 95 |.'.... .x.......| 02f0 08 e0 03 bf 08 95 1f b6 aa 95 21 f4 08 e0 03 bf |..........!.....| 0300 68 94 47 f8 1f be 18 95 00 e0 03 95 08 3c e9 f7 |h.G..........<..| 0310 08 95 00 e0 03 95 04 36 e9 f7 08 95 00 e0 03 95 |.......6........| 0320 04 31 e9 f7 08 95 00 e0 03 95 02 30 e9 f7 08 95 |.1.........0....| 0330 0a e0 01 c0 04 e6 10 e0 13 95 18 3c e9 f7 0a 95 | ..........<.. .| 0340 00 30 c9 f7 08 95 08 ec f6 cf 20 e0 00 e0 10 e0 |.0........ .....| 0350 13 95 18 3c e9 f7 03 95 04 36 c9 f7 23 95 25 30 |...<.....6..#.%0| 0360 a9 f7 08 95 f2 df f1 df f0 df ef df ee df ed df |................| 0370 ec df eb df ea df e9 cf f0 e0 e2 e5 25 d0 b0 99 |............%...| 0380 03 c0 b2 99 0b c0 fb cf 6e df 77 df f0 e0 ec e7 |.... ...n.w.....| 0390 1b d0 b0 9b f1 cf b2 99 0b c0 fb cf 64 df 6d df |........ ...d.m.| 03a0 f0 e0 e8 e8 11 d0 b0 99 03 c0 b2 9b e5 cf fb cf |................| 03b0 f0 e0 e6 e9 09 d0 d6 df b0 9b de cf b2 9b dc cf |.... ...........| 03c0 52 df 5b df d5 df f4 cf 05 91 0a 3a a1 f0 0d 30 |R.[....... :.. 0| 03d0 99 f0 0a 30 21 f0 0f 93 46 df 0f 91 75 df 05 91 |.. 0!...F...u...| 03e0 0a 3a 49 f0 0d 30 41 f0 0a 30 39 f0 0f 93 8c df | :I. 0A. 09.....| 03f0 0f 91 6a df f4 cf 08 95 40 df 05 91 0a 3a d9 f3 |..j.....@... :..| 0400 0d 30 c9 f3 0a 30 b9 f3 0f 93 7e df 0f 91 5c df | 0.. 0....~...\.| 0410 f4 cf ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 0420 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| The rest of flash is all ff This is it dissambled, I think its right but not sure #arch AT90S8515 #include "avr.inc" ; seg abs=0x0 flash.code0 rjmp L001 ; 0000, Dest: 001A nop ; 0002 nop ; 0004 nop ; 0006 nop ; 0008 rjmp L000 ; 000A, Dest: 0018 rjmp L036 ; 000C, Dest: 02F6 nop ; 000E nop ; 0010 nop ; 0012 nop ; 0014 nop ; 0016 L000: rjmp L001 ; 0018, Dest: 001A L001: ldi r16, 0xFF ; 001A ;ser r16 ; 001A out 0x1A, r16 ; 001C DDRA = FF ldi r16, 0x7A ; 001E out 0x17, r16 ; 0020 DDRB = 7A sbi 0x18, 0 ; 0022 PORTB bit 0 = 1 sbi 0x18, 2 ; 0024 PORTB bit 2 = 1 ldi r16, 0xDF ; 0026 out 0x3D, r16 ; 0028 SP cbi 0x18, 4 ; 002A cbi 0x18, 3 ; 002C cbi 0x18, 5 ; 002E rcall Func007 ; 0030, Dest: 01FE rcall Func008 ; 0032, Dest: 0260 rcall Func010 ; 0034, Dest: 026E clr r4 ; 0036 ;eor r4, r4 ; 0036 rcall Func004 ; 0038, Dest: 01C2 rcall Func023 ; 003A, Dest: 0330 rcall Func023 ; 003C, Dest: 0330 sbic 0x16, 0 ; 003E rjmp L002 ; 0040, Dest: 00AE sbic 0x16, 2 ; 0042 rjmp L002 ; 0044, Dest: 00AE rcall Func019 ; 0046, Dest: 0308 sbic 0x16, 0 ; 0048 rjmp L002 ; 004A, Dest: 00AE sbic 0x16, 2 ; 004C rjmp L002 ; 004E, Dest: 00AE rjmp L048 ; 0050, Dest: 0378 sbci r20, 0xFD ; 0052 subi r20, 0x3E ; 0054 sbci r21, 0x54 ; 0056 and r5, r2 ; 0058 and r2, r10 ; 005A sbci r20, 0xFD ; 005C subi r20, 0x3E ; 005E sbci r21, 0x54 ; 0060 and r5, r2 ; 0062 or r2, r26 ; 0064 ori r16, 0x9D ; 0066 ;sbr r16, 0x9D ; 0066 subi r20, 0x23 ; 0068 subi r21, 0xA5 ; 006A and r4, r5 ; 006C sbci r22, 0x39 ; 006E subi r21, 0x52 ; 0070 sbci r21, 0x5A ; 0072 and r2, r0 ; 0074 subi r18, 0x30 ; 0076 cpi r21, 0x16 ; 0078 std Y+49, r5 ; 007A sbci r21, 0x43 ; 007C and r4, r1 ; 007E andi r22, 0x39 ; 0080 ;cbr r22, 0x39 ; 0080 sbci r18, 0x80 ; 0082 ori r22, 0x79 ; 0084 ;sbr r22, 0x79 ; 0084 std Y+48, r6 ; 0086 add r18, r0 ; 0088 sbci r21, 0x33 ; 008A and r4, r11 ; 008C andi r22, 0x39 ; 008E ;cbr r22, 0x39 ; 008E sbci r18, 0x80 ; 0090 ori r22, 0x79 ; 0092 ;sbr r22, 0x79 ; 0092 std Y+48, r6 ; 0094 sbci r21, 0x43 ; 0096 and r4, r1 ; 0098 andi r22, 0x39 ; 009A ;cbr r22, 0x39 ; 009A sbci r18, 0x80 ; 009C ori r22, 0x79 ; 009E ;sbr r22, 0x79 ; 009E add r22, r8 ; 00A0 sbci r21, 0x33 ; 00A2 and r4, r11 ; 00A4 andi r22, 0x39 ; 00A6 ;cbr r22, 0x39 ; 00A6 sbci r18, 0x80 ; 00A8 ori r22, 0x79 ; 00AA ;sbr r22, 0x79 ; 00AA std Y+48, r6 ; 00AC L002: ldi r16, 0x7E ; 00AE out 0x17, r16 ; 00B0 cbi 0x18, 2 ; 00B2 rcall Func023 ; 00B4, Dest: 0330 wdr ; 00B6 ldi r16, 0xE ; 00B8 out 0x21, r16 ; 00BA L003: ldi r16, 0x7E ; 00BC out 0x17, r16 ; 00BE cbi 0x18, 2 ; 00C0 rcall Func023 ; 00C2, Dest: 0330 rcall Func023 ; 00C4, Dest: 0330 ldi r16, 0x7A ; 00C6 out 0x17, r16 ; 00C8 sbi 0x18, 2 ; 00CA rcall Func017 ; 00CC, Dest: 02D6 L004: rcall Func003 ; 00CE, Dest: 01AE ldi r21, 0x0 ; 00D0 bst r4, 6 ; 00D2 brbs 6, L006 ; 00D4, Dest: 00E6 ;brts L006 ; 00D4, Dest: 00E6 ldi r31, 0x0 ; 00D6 ldi r30, 0x60 ; 00D8 rjmp L007 ; 00DA, Dest: 00EA L005: bclr 6 ; 00DC ;clt ; 00DC bld r4, 7 ; 00DE rcall Func003 ; 00E0, Dest: 01AE rcall Func023 ; 00E2, Dest: 0330 rjmp L003 ; 00E4, Dest: 00BC L006: ldi r31, 0x0 ; 00E6 ldi r30, 0x88 ; 00E8 L007: rcall Func005 ; 00EA, Dest: 01D0 inc r21 ; 00EC cpi r16, 0xFF ; 00EE brbs 1, L004 ; 00F0, Dest: 00CE ;breq L004 ; 00F0, Dest: 00CE st Z+, r16 ; 00F2 L008: rcall Func006 ; 00F4, Dest: 01E8 bst r4, 7 ; 00F6 brbs 6, L005 ; 00F8, Dest: 00DC ;brts L005 ; 00F8, Dest: 00DC inc r21 ; 00FA cpi r16, 0xFF ; 00FC brbs 1, L004 ; 00FE, Dest: 00CE ;breq L004 ; 00FE, Dest: 00CE st Z+, r16 ; 0100 cpi r21, 0x28 ; 0102 brbc 1, L008 ; 0104, Dest: 00F4 ;brne L008 ; 0104, Dest: 00F4 rcall Func006 ; 0106, Dest: 01E8 mov r23, r16 ; 0108 ldi r16, 0x7E ; 010A out 0x17, r16 ; 010C cbi 0x18, 2 ; 010E rcall Func001 ; 0110, Dest: 0150 cp r23, r24 ; 0112 brbc 1, L010 ; 0114, Dest: 0128 ;brne L010 ; 0114, Dest: 0128 rcall Func018 ; 0116, Dest: 02F0 rcall Func000 ; 0118, Dest: 012C bst r4, 4 ; 011A brbc 6, L009 ; 011C, Dest: 0120 ;brtc L009 ; 011C, Dest: 0120 rcall Func002 ; 011E, Dest: 016E L009: ldi r16, 0x7A ; 0120 out 0x17, r16 ; 0122 sbi 0x18, 2 ; 0124 rjmp L004 ; 0126, Dest: 00CE L010: rcall Func016 ; 0128, Dest: 02D2 rjmp L009 ; 012A, Dest: 0120 Func000: ldi r31, 0x0 ; 012C ldi r30, 0x60 ; 012E ldi r29, 0x0 ; 0130 ldi r28, 0x88 ; 0132 ldi r21, 0x0 ; 0134 L011: inc r21 ; 0136 ld r16, Y+ ; 0138 ld r17, Z+ ; 013A cpi r21, 0x29 ; 013C brbs 1, L012 ; 013E, Dest: 014A ;breq L012 ; 013E, Dest: 014A cp r16, r17 ; 0140 brbs 1, L011 ; 0142, Dest: 0136 ;breq L011 ; 0142, Dest: 0136 bset 6 ; 0144 ;set ; 0144 bld r4, 4 ; 0146 ret ; 0148 L012: bclr 6 ; 014A ;clt ; 014A bld r4, 4 ; 014C ret ; 014E Func001: ldi r24, 0x0 ; 0150 bst r4, 6 ; 0152 brbs 6, L013 ; 0154, Dest: 015C ;brts L013 ; 0154, Dest: 015C ldi r31, 0x0 ; 0156 ldi r30, 0x60 ; 0158 rjmp L014 ; 015A, Dest: 0160 L013: ldi r31, 0x0 ; 015C ldi r30, 0x88 ; 015E L014: ldi r21, 0x0 ; 0160 L015: ld r16, Z+ ; 0162 eor r24, r16 ; 0164 inc r21 ; 0166 cpi r21, 0x28 ; 0168 brbc 1, L015 ; 016A, Dest: 0162 ;brne L015 ; 016A, Dest: 0162 ret ; 016C Func002: bst r4, 6 ; 016E brbs 6, L016 ; 0170, Dest: 0178 ;brts L016 ; 0170, Dest: 0178 ldi r31, 0x0 ; 0172 ldi r30, 0x60 ; 0174 rjmp L017 ; 0176, Dest: 017C L016: ldi r31, 0x0 ; 0178 ldi r30, 0x88 ; 017A L017: rcall Func010 ; 017C, Dest: 026E ldi r21, 0x0 ; 017E L018: ld r16, Z+ ; 0180 cpi r16, 0x80 ; 0182 brbc 1, L019 ; 0184, Dest: 0188 ;brne L019 ; 0184, Dest: 0188 ldi r16, 0xFF ; 0186 ;ser r16 ; 0186 L019: rcall Func015 ; 0188, Dest: 02C8 cpi r21, 0x14 ; 018A brbc 1, L018 ; 018C, Dest: 0180 ;brne L018 ; 018C, Dest: 0180 rcall Func011 ; 018E, Dest: 0276 ldi r21, 0x0 ; 0190 L020: ld r16, Z+ ; 0192 cpi r16, 0x80 ; 0194 brbc 1, L021 ; 0196, Dest: 019A ;brne L021 ; 0196, Dest: 019A ldi r16, 0xFF ; 0198 ;ser r16 ; 0198 L021: rcall Func015 ; 019A, Dest: 02C8 cpi r21, 0x14 ; 019C brbc 1, L020 ; 019E, Dest: 0192 ;brne L020 ; 019E, Dest: 0192 brbs 6, L022 ; 01A0, Dest: 01A8 ;brts L022 ; 01A0, Dest: 01A8 bset 6 ; 01A2 ;set ; 01A2 bld r4, 6 ; 01A4 ret ; 01A6 L022: bclr 6 ; 01A8 ;clt ; 01A8 bld r4, 6 ; 01AA ret ; 01AC Func003: L023: ldi r17, 0x7F ; 01AE L024: sbi 0x18, 6 ; 01B0 wdr ; 01B2 dec r17 ; 01B4 brbs 1, L025 ; 01B6, Dest: 01BE ;breq L025 ; 01B6, Dest: 01BE sbic 0x16, 2 ; 01B8 rjmp L024 ; 01BA, Dest: 01B0 rjmp L023 ; 01BC, Dest: 01AE L025: cbi 0x18, 6 ; 01BE ret ; 01C0 Func004: ldi r31, 0x0 ; 01C2 ldi r30, 0x60 ; 01C4 ldi r16, 0x20 ; 01C6 L026: st Z+, r16 ; 01C8 cpi r30, 0xB0 ; 01CA brbc 1, L026 ; 01CC, Dest: 01C8 ;brne L026 ; 01CC, Dest: 01C8 ret ; 01CE Func005: ldi r17, 0x28 ; 01D0 out 0xD, r17 ; 01D2 ldi r17, 0x40 ; 01D4 out 0xE, r17 ; 01D6 L027: sbic 0xE, 6 ; 01D8 rjmp L028 ; 01DA, Dest: 01E4 wdr ; 01DC bst r4, 7 ; 01DE brbs 6, L029 ; 01E0, Dest: 01E6 ;brts L029 ; 01E0, Dest: 01E6 rjmp L027 ; 01E2, Dest: 01D8 L028: in r16, 0xF ; 01E4 L029: ret ; 01E6 Func006: ldi r17, 0x28 ; 01E8 out 0xD, r17 ; 01EA ldi r17, 0x40 ; 01EC out 0xE, r17 ; 01EE L030: sbic 0xE, 6 ; 01F0 rjmp L028 ; 01F2, Dest: 01E4 bst r4, 7 ; 01F4 brbs 6, L029 ; 01F6, Dest: 01E6 ;brts L029 ; 01F6, Dest: 01E6 rjmp L030 ; 01F8, Dest: 01F0 in r16, 0xF ; 01FA ret ; 01FC Func007: cbi 0x18, 4 ; 01FE cbi 0x18, 3 ; 0200 cbi 0x18, 5 ; 0202 rcall Func025 ; 0204, Dest: 034A ldi r16, 0x38 ; 0206 out 0x1B, r16 ; 0208 sbi 0x18, 5 ; 020A rcall Func021 ; 020C, Dest: 031C cbi 0x18, 5 ; 020E rcall Func024 ; 0210, Dest: 0334 sbi 0x18, 5 ; 0212 rcall Func021 ; 0214, Dest: 031C cbi 0x18, 5 ; 0216 rcall Func023 ; 0218, Dest: 0330 sbi 0x18, 5 ; 021A rcall Func021 ; 021C, Dest: 031C cbi 0x18, 5 ; 021E rcall Func023 ; 0220, Dest: 0330 sbi 0x18, 5 ; 0222 rcall Func021 ; 0224, Dest: 031C cbi 0x18, 5 ; 0226 ldi r16, 0x8 ; 0228 out 0x1B, r16 ; 022A sbi 0x18, 5 ; 022C rcall Func021 ; 022E, Dest: 031C cbi 0x18, 5 ; 0230 rcall Func019 ; 0232, Dest: 0308 ldi r16, 0x1 ; 0234 out 0x1B, r16 ; 0236 sbi 0x18, 5 ; 0238 rcall Func021 ; 023A, Dest: 031C cbi 0x18, 5 ; 023C rcall Func019 ; 023E, Dest: 0308 ldi r16, 0x6 ; 0240 out 0x1B, r16 ; 0242 sbi 0x18, 5 ; 0244 rcall Func021 ; 0246, Dest: 031C cbi 0x18, 5 ; 0248 rcall Func024 ; 024A, Dest: 0334 ret ; 024C ldi r16, 0xF ; 024E out 0x1B, r16 ; 0250 L031: cbi 0x18, 3 ; 0252 nop ; 0254 sbi 0x18, 5 ; 0256 rcall Func021 ; 0258, Dest: 031C cbi 0x18, 5 ; 025A rcall Func020 ; 025C, Dest: 0312 ret ; 025E Func008: ldi r16, 0xC ; 0260 out 0x1B, r16 ; 0262 rjmp L031 ; 0264, Dest: 0252 Func009: ldi r16, 0x80 ; 0266 out 0x1B, r16 ; 0268 rcall Func014 ; 026A, Dest: 02A4 rcall Func013 ; 026C, Dest: 028A Func010: ldi r16, 0x80 ; 026E L032: out 0x1B, r16 ; 0270 rcall Func014 ; 0272, Dest: 02A4 ret ; 0274 Func011: ldi r16, 0xC0 ; 0276 rjmp L032 ; 0278, Dest: 0270 Func012: ldi r16, 0xC0 ; 027A out 0x1B, r16 ; 027C rcall Func014 ; 027E, Dest: 02A4 rcall Func013 ; 0280, Dest: 028A ldi r16, 0xC0 ; 0282 out 0x1B, r16 ; 0284 rcall Func014 ; 0286, Dest: 02A4 ret ; 0288 Func013: ldi r16, 0x20 ; 028A out 0x1B, r16 ; 028C ldi r17, 0x0 ; 028E sbi 0x18, 3 ; 0290 nop ; 0292 L033: sbi 0x18, 5 ; 0294 rcall Func021 ; 0296, Dest: 031C cbi 0x18, 5 ; 0298 rcall Func020 ; 029A, Dest: 0312 inc r17 ; 029C cpi r17, 0x14 ; 029E brbc 1, L033 ; 02A0, Dest: 0294 ;brne L033 ; 02A0, Dest: 0294 ret ; 02A2 Func014: cbi 0x18, 3 ; 02A4 nop ; 02A6 sbi 0x18, 5 ; 02A8 rcall Func021 ; 02AA, Dest: 031C cbi 0x18, 5 ; 02AC rcall Func020 ; 02AE, Dest: 0312 ret ; 02B0 L034: sbi 0x18, 3 ; 02B2 nop ; 02B4 sbi 0x18, 5 ; 02B6 rcall Func022 ; 02B8, Dest: 0326 rcall Func022 ; 02BA, Dest: 0326 cbi 0x18, 5 ; 02BC rcall Func020 ; 02BE, Dest: 0312 ret ; 02C0 rcall Func012 ; 02C2, Dest: 027A rcall Func009 ; 02C4, Dest: 0266 ret ; 02C6 Func015: out 0x1B, r16 ; 02C8 inc r21 ; 02CA rjmp L034 ; 02CC, Dest: 02B2 out 0x1B, r0 ; 02CE rjmp L034 ; 02D0, Dest: 02B2 Func016: ldi r26, 0x11 ; 02D2 rjmp L035 ; 02D4, Dest: 02D8 Func017: ldi r26, 0x33 ; 02D6 L035: bclr 6 ; 02D8 ;clt ; 02D8 bld r4, 7 ; 02DA ldi r16, 0x8 ; 02DC out 0x33, r16 ; 02DE clr r16 ; 02E0 ;eor r16, r16 ; 02E0 out 0x32, r16 ; 02E2 ldi r16, 0x2 ; 02E4 out 0x39, r16 ; 02E6 bset 7 ; 02E8 ;sei ; 02E8 ldi r16, 0x5 ; 02EA out 0x33, r16 ; 02EC ret ; 02EE Func018: ldi r16, 0x8 ; 02F0 out 0x33, r16 ; 02F2 ret ; 02F4 L036: in r1, 0x3F ; 02F6 dec r26 ; 02F8 brbc 1, L037 ; 02FA, Dest: 0304 ;brne L037 ; 02FA, Dest: 0304 ldi r16, 0x8 ; 02FC out 0x33, r16 ; 02FE bset 6 ; 0300 ;set ; 0300 bld r4, 7 ; 0302 L037: out 0x3F, r1 ; 0304 reti ; 0306 Func019: ldi r16, 0x0 ; 0308 L038: inc r16 ; 030A cpi r16, 0xC8 ; 030C brbc 1, L038 ; 030E, Dest: 030A ;brne L038 ; 030E, Dest: 030A ret ; 0310 Func020: ldi r16, 0x0 ; 0312 L039: inc r16 ; 0314 cpi r16, 0x64 ; 0316 brbc 1, L039 ; 0318, Dest: 0314 ;brne L039 ; 0318, Dest: 0314 ret ; 031A Func021: ldi r16, 0x0 ; 031C L040: inc r16 ; 031E cpi r16, 0x14 ; 0320 brbc 1, L040 ; 0322, Dest: 031E ;brne L040 ; 0322, Dest: 031E ret ; 0324 Func022: ldi r16, 0x0 ; 0326 L041: inc r16 ; 0328 cpi r16, 0x2 ; 032A brbc 1, L041 ; 032C, Dest: 0328 ;brne L041 ; 032C, Dest: 0328 ret ; 032E Func023: ldi r16, 0xA ; 0330 rjmp L042 ; 0332, Dest: 0336 Func024: ldi r16, 0x64 ; 0334 L042: ldi r17, 0x0 ; 0336 L043: inc r17 ; 0338 cpi r17, 0xC8 ; 033A brbc 1, L043 ; 033C, Dest: 0338 ;brne L043 ; 033C, Dest: 0338 dec r16 ; 033E cpi r16, 0x0 ; 0340 brbc 1, L042 ; 0342, Dest: 0336 ;brne L042 ; 0342, Dest: 0336 ret ; 0344 ldi r16, 0xC8 ; 0346 rjmp L042 ; 0348, Dest: 0336 ; i think this is a delay function Func025: L044: ldi r18, 0x0 ; 034A L045: ldi r16, 0x0 ; 034C L046: ldi r17, 0x0 ; 034E L047: inc r17 ; 0350 cpi r17, 0xC8 ; 0352 brbc 1, L047 ; 0354, Dest: 0350 ;brne L047 ; 0354, Dest: 0350 inc r16 ; 0356 cpi r16, 0x64 ; 0358 brbc 1, L046 ; 035A, Dest: 034E ;brne L046 ; 035A, Dest: 034E inc r18 ; 035C cpi r18, 0x5 ; 035E brbc 1, L045 ; 0360, Dest: 034C ;brne L045 ; 0360, Dest: 034C ret ; 0362 Func026: rcall Func025 ; 0364, Dest: 034A rcall Func025 ; 0366, Dest: 034A rcall Func025 ; 0368, Dest: 034A rcall Func025 ; 036A, Dest: 034A rcall Func025 ; 036C, Dest: 034A rcall Func025 ; 036E, Dest: 034A Func027: rcall Func025 ; 0370, Dest: 034A rcall Func025 ; 0372, Dest: 034A rcall Func025 ; 0374, Dest: 034A rjmp L044 ; 0376, Dest: 034A L048: ldi r31, 0x0 ; 0378 ldi r30, 0x52 ; 037A rcall Func028 ; 037C, Dest: 03C8 L049: sbic 0x16, 0 ; 037E rjmp L050 ; 0380, Dest: 0388 sbic 0x16, 2 ; 0382 rjmp L052 ; 0384, Dest: 039C rjmp L049 ; 0386, Dest: 037E L050: rcall Func009 ; 0388, Dest: 0266 rcall Func012 ; 038A, Dest: 027A ldi r31, 0x0 ; 038C ldi r30, 0x7C ; 038E rcall Func028 ; 0390, Dest: 03C8 L051: sbis 0x16, 0 ; 0392 rjmp L048 ; 0394, Dest: 0378 sbic 0x16, 2 ; 0396 rjmp L054 ; 0398, Dest: 03B0 rjmp L051 ; 039A, Dest: 0392 L052: rcall Func009 ; 039C, Dest: 0266 rcall Func012 ; 039E, Dest: 027A ldi r31, 0x0 ; 03A0 ldi r30, 0x88 ; 03A2 rcall Func028 ; 03A4, Dest: 03C8 L053: sbic 0x16, 0 ; 03A6 rjmp L054 ; 03A8, Dest: 03B0 sbis 0x16, 2 ; 03AA rjmp L048 ; 03AC, Dest: 0378 rjmp L053 ; 03AE, Dest: 03A6 L054: ldi r31, 0x0 ; 03B0 ldi r30, 0x96 ; 03B2 rcall Func028 ; 03B4, Dest: 03C8 rcall Func026 ; 03B6, Dest: 0364 sbis 0x16, 0 ; 03B8 rjmp L048 ; 03BA, Dest: 0378 sbis 0x16, 2 ; 03BC rjmp L048 ; 03BE, Dest: 0378 rcall Func009 ; 03C0, Dest: 0266 rcall Func012 ; 03C2, Dest: 027A rcall Func027 ; 03C4, Dest: 0370 rjmp L054 ; 03C6, Dest: 03B0 Func028: ; dc.W 0x9105 ; 03C8 cpi r16, 0xAA ; 03CA brbs 1, L056 ; 03CC, Dest: 03F6 ;breq L056 ; 03CC, Dest: 03F6 cpi r16, 0xD ; 03CE brbs 1, L057 ; 03D0, Dest: 03F8 ;breq L057 ; 03D0, Dest: 03F8 cpi r16, 0xA ; 03D2 brbs 1, L055 ; 03D4, Dest: 03DE ;breq L055 ; 03D4, Dest: 03DE push r16 ; 03D6 rcall Func009 ; 03D8, Dest: 0266 pop r16 ; 03DA rcall Func015 ; 03DC, Dest: 02C8 L055: ; dc.W 0x9105 ; 03DE cpi r16, 0xAA ; 03E0 brbs 1, L056 ; 03E2, Dest: 03F6 ;breq L056 ; 03E2, Dest: 03F6 cpi r16, 0xD ; 03E4 brbs 1, L057 ; 03E6, Dest: 03F8 ;breq L057 ; 03E6, Dest: 03F8 cpi r16, 0xA ; 03E8 brbs 1, L058 ; 03EA, Dest: 03FA ;breq L058 ; 03EA, Dest: 03FA push r16 ; 03EC rcall Func019 ; 03EE, Dest: 0308 pop r16 ; 03F0 rcall Func015 ; 03F2, Dest: 02C8 rjmp L055 ; 03F4, Dest: 03DE L056: ret ; 03F6 L057: rcall Func012 ; 03F8, Dest: 027A L058: ; dc.W 0x9105 ; 03FA cpi r16, 0xAA ; 03FC brbs 1, L056 ; 03FE, Dest: 03F6 ;breq L056 ; 03FE, Dest: 03F6 cpi r16, 0xD ; 0400 brbs 1, L056 ; 0402, Dest: 03F6 ;breq L056 ; 0402, Dest: 03F6 cpi r16, 0xA ; 0404 brbs 1, L056 ; 0406, Dest: 03F6 ;breq L056 ; 0406, Dest: 03F6 push r16 ; 0408 rcall Func019 ; 040A, Dest: 0308 pop r16 ; 040C rcall Func015 ; 040E, Dest: 02C8 rjmp L058 ; 0410, Dest: 03FA