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