FreeCalypso > hg > freecalypso-reveng
annotate compal/c156-boot.disasm @ 371:c7514c8b5b41
pirelli/headset: plug insertion detection figured out
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 14 Jun 2021 01:33:48 +0000 |
parents | 5c47d916255e |
children |
rev | line source |
---|---|
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
1 RESET entry and exception vectors: |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
2 0: ea000011 b 0x4c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
3 4: ea008036 b 0x200e4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
4 8: ea008036 b 0x200e8 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
5 c: ea008036 b 0x200ec |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
6 10: ea008036 b 0x200f0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
7 14: ea008036 b 0x200f4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
8 18: ea008036 b 0x200f8 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
9 1c: ea008036 b 0x200fc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
10 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
11 20: 02a102a1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
12 24: 02a302a1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
13 28: 00000040 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
14 2c: fffffd00 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
15 30: ffff9800 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
16 34: fffffb10 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
17 38: ffffff08 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
18 3c: 20021081 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
19 40: 00000800 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
20 44: 004000c0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
21 48: 00000e85 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
22 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
23 ; RESET entry point |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
24 ; same init as in the C139 version |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
25 4c: e51f1028 ldr r1, =0xfffffd00 ; via 0x2c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
26 50: e1d120b2 ldrh r2, [r1, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
27 54: e51f0034 ldr r0, =0x40 ; via 0x28 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
28 58: e1800002 orr r0, r0, r2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
29 5c: e1c100b2 strh r0, [r1, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
30 ; disable PLL |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
31 ; diff from C139 version: writing 2002 into FFFF:9800 instead of 2006 |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
32 ; diff in the BYPASS_DIV field |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
33 60: e51f1038 ldr r1, =0xffff9800 ; via 0x30 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
34 64: e15f22be ldrh r2, =0x2002 ; via 0x3e |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
35 68: e1c120b0 strh r2, [r1] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
36 6c: e5912000 ldr r2, [r1] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
37 70: e2022001 and r2, r2, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
38 74: e3520001 cmp r2, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
39 78: 0afffffb beq 0x6c |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
40 ; FFFF:FD00 write same as C139 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
41 7c: e51f1058 ldr r1, =0xfffffd00 ; via 0x2c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
42 80: e15f24bc ldrh r2, =0x1081 ; via 0x3c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
43 84: e1c120b0 strh r2, [r1] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
44 ; disable DU like C139 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
45 88: e51f105c ldr r1, =0xfffffb10 ; via 0x34 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
46 8c: e15f25b4 ldrh r2, =0x800 ; via 0x40 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
47 90: e1d100b0 ldrh r0, [r1] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
48 94: e1800002 orr r0, r0, r2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
49 98: e1c100b0 strh r0, [r1] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
50 ; ditto for MPU |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
51 9c: e51f106c ldr r1, =0xffffff08 ; via 0x38 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
52 a0: e15f26b6 ldrh r2, =0x0 ; via 0x42 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
53 a4: e1c120b0 strh r2, [r1] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
54 ; Memory timings |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
55 a8: e59f1640 ldr r1, =0xfffffb00 ; via 0x6f0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
56 ac: e15f29b4 ldrh r2, =0x2a1 ; via 0x20 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
57 b0: e1c120b0 strh r2, [r1] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
58 b4: e15f29ba ldrh r2, =0x2a1 ; via 0x22 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
59 b8: e1c120b2 strh r2, [r1, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
60 bc: e15f2ab0 ldrh r2, =0x2a1 ; via 0x24 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
61 c0: e1c120b4 strh r2, [r1, #4] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
62 c4: e15f2ab6 ldrh r2, =0x2a3 ; via 0x26 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
63 c8: e1c120b6 strh r2, [r1, #6] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
64 cc: e15f28bc ldrh r2, =0xe85 ; via 0x48 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
65 d0: e1c120ba strh r2, [r1, #10] ; 0xa |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
66 d4: e15f29b8 ldrh r2, =0xc0 ; via 0x44 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
67 d8: e1c120bc strh r2, [r1, #12] ; 0xc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
68 dc: e15f29be ldrh r2, =0x40 ; via 0x46 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
69 e0: e1c120b8 strh r2, [r1, #8] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
70 ; enable 8 MiB chip select regions |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
71 e4: e59f3630 ldr r3, =0xfffef006 ; via 0x71c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
72 e8: e1d310b0 ldrh r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
73 ec: e3a02008 mov r2, #8 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
74 f0: e1811002 orr r1, r1, r2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
75 f4: e1c310b0 strh r1, [r3] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
76 ; write 0x0110 into FFFE:F00A |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
77 ; enable I/O(8) and I/O(12) |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
78 f8: e59f3604 ldr r3, =0xfffef000 ; via 0x704 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
79 fc: e3a01e11 mov r1, #272 ; 0x110 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
80 100: e1c310ba strh r1, [r3, #10] ; 0xa |
277
5c47d916255e
compal/c156-boot.disasm: GPIO comments were wrong
Mychaela Falconia <falcon@freecalypso.org>
parents:
109
diff
changeset
|
81 ; FFFE:4804: set GPIOs 8 and 12 as outputs |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
82 104: e59f3604 ldr r3, =0xfffe4804 ; via 0x710 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
83 108: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
84 10c: e3a030ff mov r3, #255 ; 0xff |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
85 110: e3a02cee mov r2, #60928 ; 0xee00 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
86 114: e1822003 orr r2, r2, r3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
87 118: e0011002 and r1, r1, r2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
88 11c: e59f35e4 ldr r3, =0xfffe4800 ; via 0x708 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
89 120: e1c310b4 strh r1, [r3, #4] |
277
5c47d916255e
compal/c156-boot.disasm: GPIO comments were wrong
Mychaela Falconia <falcon@freecalypso.org>
parents:
109
diff
changeset
|
90 ; ARMIO_LATCH_OUT: GPIO 8 set to 0 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
91 124: e59f35e0 ldr r3, =0xfffe4802 ; via 0x70c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
92 128: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
93 12c: e3a030ff mov r3, #255 ; 0xff |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
94 130: e3a02cfe mov r2, #65024 ; 0xfe00 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
95 134: e1822003 orr r2, r2, r3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
96 138: e0011002 and r1, r1, r2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
97 13c: e59f35c4 ldr r3, =0xfffe4800 ; via 0x708 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
98 140: e1c310b2 strh r1, [r3, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
99 ; ... and then reset it to 0xF400 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
100 144: e3a01b3d mov r1, #62464 ; 0xf400 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
101 148: e59f35b8 ldr r3, =0xfffe4800 ; via 0x708 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
102 14c: e1c310b2 strh r1, [r3, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
103 ; SVC mode, IRQ and FIQ disabled |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
104 150: e10f0000 mrs r0, CPSR |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
105 154: e3c0001f bic r0, r0, #31 ; 0x1f |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
106 158: e3800013 orr r0, r0, #19 ; 0x13 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
107 15c: e38000c0 orr r0, r0, #192 ; 0xc0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
108 160: e129f000 msr CPSR_fc, r0 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
109 ; zero all 256 KiB IRAM except last 128 bytes |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
110 164: e3a00502 mov r0, #8388608 ; 0x800000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
111 168: e3a02000 mov r2, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
112 16c: e3a01721 mov r1, #8650752 ; 0x840000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
113 170: e2411080 sub r1, r1, #128 ; 0x80 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
114 174: e4802004 str r2, [r0], #4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
115 178: e1500001 cmp r0, r1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
116 17c: 1afffffc bne 0x174 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
117 ; ditto for 2 MiB XRAM |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
118 180: e3a00401 mov r0, #16777216 ; 0x1000000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
119 184: e3a02000 mov r2, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
120 188: e3a01612 mov r1, #18874368 ; 0x1200000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
121 18c: e2411080 sub r1, r1, #128 ; 0x80 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
122 190: e4802004 str r2, [r0], #4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
123 194: e1500001 cmp r0, r1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
124 198: 1afffffc bne 0x190 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
125 ; MODEM UART |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
126 19c: e59f0550 ldr r0, =0xffff5800 ; via 0x6f4 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
127 ; 0 into LCR for IER access |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
128 1a0: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
129 1a4: e5c01003 strb r1, [r0, #3] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
130 ; clear IER |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
131 1a8: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
132 1ac: e5c01001 strb r1, [r0, #1] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
133 ; BF into LCR |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
134 1b0: e3a010bf mov r1, #191 ; 0xbf |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
135 1b4: e5c01003 strb r1, [r0, #3] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
136 ; 0x10 into EFR |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
137 1b8: e3a01010 mov r1, #16 ; 0x10 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
138 1bc: e5c01002 strb r1, [r0, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
139 ; set 115200 baud |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
140 1c0: e59f3534 ldr r3, =0xffff5803 ; via 0x6fc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
141 1c4: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
142 1c8: e3811080 orr r1, r1, #128 ; 0x80 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
143 1cc: e5c31000 strb r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
144 1d0: e3a01007 mov r1, #7 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
145 1d4: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
146 1d8: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
147 1dc: e5c01001 strb r1, [r0, #1] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
148 ; LCR will eventually get back to 03 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
149 1e0: e59f3514 ldr r3, =0xffff5803 ; via 0x6fc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
150 1e4: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
151 1e8: e201107f and r1, r1, #127 ; 0x7f |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
152 1ec: e5c31000 strb r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
153 1f0: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
154 1f4: e3811003 orr r1, r1, #3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
155 1f8: e5c31000 strb r1, [r3] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
156 ; 0x40 into MCR: TCR/TLR access |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
157 1fc: e3a01040 mov r1, #64 ; 0x40 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
158 200: e5c01004 strb r1, [r0, #4] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
159 ; TCR=0x0F (same as default) |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
160 204: e3a0100f mov r1, #15 ; 0xf |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
161 208: e5c01006 strb r1, [r0, #6] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
162 ; BF into LCR again |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
163 20c: e3a010bf mov r1, #191 ; 0xbf |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
164 210: e5c01003 strb r1, [r0, #3] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
165 ; 0x10 into EFR again |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
166 214: e3a01010 mov r1, #16 ; 0x10 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
167 218: e5c01002 strb r1, [r0, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
168 ; finally 03 into LCR |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
169 21c: e3a01003 mov r1, #3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
170 220: e5c01003 strb r1, [r0, #3] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
171 ; clear SCR (default, all weird stuff disabled) |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
172 224: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
173 228: e5c01010 strb r1, [r0, #16] ; 0x10 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
174 ; FCR=06: FIFOs cleared and *disabled* |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
175 22c: e3a01006 mov r1, #6 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
176 230: e5c01002 strb r1, [r0, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
177 ; MCR=0F |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
178 234: e3a0100f mov r1, #15 ; 0xf |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
179 238: e5c01004 strb r1, [r0, #4] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
180 ; FCR=F1: enable FIFOs with max trigger levels |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
181 23c: e3a010f1 mov r1, #241 ; 0xf1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
182 240: e5c01002 strb r1, [r0, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
183 ; MDR1: write 7 for reset, then 0 for UART mode |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
184 244: e3a01007 mov r1, #7 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
185 248: e5c01008 strb r1, [r0, #8] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
186 24c: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
187 250: e5c01008 strb r1, [r0, #8] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
188 ; IER: enable Rx interrupt |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
189 254: e59f349c ldr r3, =0xffff5801 ; via 0x6f8 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
190 258: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
191 25c: e3811001 orr r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
192 260: e5c31000 strb r1, [r3] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
193 ; nCS0: WS=3, write enable, DC=1 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
194 264: e59f1484 ldr r1, =0xfffffb00 ; via 0x6f0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
195 268: e59f247c ldr r2, =0x2a3 ; via 0x6ec |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
196 26c: e1c120b0 strh r2, [r1] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
197 ; FFFF:FB0E = 0x6A: adapt enabled for RHEA and API, |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
198 ; all ARM7 cycles visible externally |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
199 270: e59f3488 ldr r3, =0xfffffb00 ; via 0x700 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
200 274: e3a0106a mov r1, #106 ; 0x6a |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
201 278: e1c310be strh r1, [r3, #14] ; 0xe |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
202 ; dingle UART FIFOs again, same settings |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
203 27c: e59f0470 ldr r0, =0xffff5800 ; via 0x6f4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
204 280: e3a010f7 mov r1, #247 ; 0xf7 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
205 284: e5c01002 strb r1, [r0, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
206 288: e3a010f1 mov r1, #241 ; 0xf1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
207 28c: e5c01002 strb r1, [r0, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
208 ; short delay loop |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
209 290: e3a01f4b mov r1, #300 ; 0x12c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
210 294: e2411001 sub r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
211 298: e3510000 cmp r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
212 29c: 1afffffc bne 0x294 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
213 ; check UART for unsolicited input? |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
214 2a0: e59f044c ldr r0, =0xffff5800 ; via 0x6f4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
215 2a4: e3a02064 mov r2, #100 ; 0x64 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
216 2a8: e3a08801 mov r8, #65536 ; 0x10000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
217 2ac: e2488001 sub r8, r8, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
218 2b0: e3580000 cmp r8, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
219 2b4: 0a000040 beq 0x3bc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
220 2b8: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
221 2bc: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
222 2c0: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
223 2c4: 1afffff8 bne 0x2ac |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
224 2c8: e5d01000 ldrb r1, [r0] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
225 ; unsolicited input received |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
226 ; repeats the whole UART init, but with /2 div for 406250 baud |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
227 2cc: e59f0420 ldr r0, =0xffff5800 ; via 0x6f4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
228 2d0: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
229 2d4: e5c01003 strb r1, [r0, #3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
230 2d8: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
231 2dc: e5c01001 strb r1, [r0, #1] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
232 2e0: e3a010bf mov r1, #191 ; 0xbf |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
233 2e4: e5c01003 strb r1, [r0, #3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
234 2e8: e3a01010 mov r1, #16 ; 0x10 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
235 2ec: e5c01002 strb r1, [r0, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
236 2f0: e59f3404 ldr r3, =0xffff5803 ; via 0x6fc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
237 2f4: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
238 2f8: e3811080 orr r1, r1, #128 ; 0x80 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
239 2fc: e5c31000 strb r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
240 300: e3a01002 mov r1, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
241 304: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
242 308: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
243 30c: e5c01001 strb r1, [r0, #1] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
244 310: e59f33e4 ldr r3, =0xffff5803 ; via 0x6fc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
245 314: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
246 318: e201107f and r1, r1, #127 ; 0x7f |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
247 31c: e5c31000 strb r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
248 320: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
249 324: e3811003 orr r1, r1, #3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
250 328: e5c31000 strb r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
251 32c: e3a01040 mov r1, #64 ; 0x40 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
252 330: e5c01004 strb r1, [r0, #4] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
253 334: e3a0100f mov r1, #15 ; 0xf |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
254 338: e5c01006 strb r1, [r0, #6] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
255 33c: e3a010bf mov r1, #191 ; 0xbf |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
256 340: e5c01003 strb r1, [r0, #3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
257 344: e3a01010 mov r1, #16 ; 0x10 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
258 348: e5c01002 strb r1, [r0, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
259 34c: e3a01003 mov r1, #3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
260 350: e5c01003 strb r1, [r0, #3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
261 354: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
262 358: e5c01010 strb r1, [r0, #16] ; 0x10 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
263 35c: e3a01006 mov r1, #6 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
264 360: e5c01002 strb r1, [r0, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
265 364: e3a0100f mov r1, #15 ; 0xf |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
266 368: e5c01004 strb r1, [r0, #4] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
267 36c: e3a010f1 mov r1, #241 ; 0xf1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
268 370: e5c01002 strb r1, [r0, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
269 374: e3a01007 mov r1, #7 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
270 378: e5c01008 strb r1, [r0, #8] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
271 37c: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
272 380: e5c01008 strb r1, [r0, #8] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
273 384: e59f336c ldr r3, =0xffff5801 ; via 0x6f8 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
274 388: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
275 38c: e3811001 orr r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
276 390: e5c31000 strb r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
277 394: e59f0358 ldr r0, =0xffff5800 ; via 0x6f4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
278 398: e3a010f7 mov r1, #247 ; 0xf7 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
279 39c: e5c01002 strb r1, [r0, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
280 3a0: e3a010f1 mov r1, #241 ; 0xf1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
281 3a4: e5c01002 strb r1, [r0, #2] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
282 3a8: e3a01f4b mov r1, #300 ; 0x12c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
283 3ac: e2411001 sub r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
284 3b0: e3510000 cmp r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
285 3b4: 1afffffc bne 0x3ac |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
286 3b8: e59f0334 ldr r0, =0xffff5800 ; via 0x6f4 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
287 ; normal path continues |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
288 ; emit 1B F6 02 00 41 01 40 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
289 3bc: e3a0101b mov r1, #27 ; 0x1b |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
290 3c0: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
291 3c4: e3a010f6 mov r1, #246 ; 0xf6 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
292 3c8: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
293 3cc: e3a01002 mov r1, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
294 3d0: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
295 3d4: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
296 3d8: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
297 3dc: e3a01041 mov r1, #65 ; 0x41 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
298 3e0: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
299 3e4: e3a01001 mov r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
300 3e8: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
301 3ec: e3a01040 mov r1, #64 ; 0x40 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
302 3f0: e5c01000 strb r1, [r0] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
303 ; wait for UART input |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
304 3f4: e3a02064 mov r2, #100 ; 0x64 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
305 3f8: e3a08701 mov r8, #262144 ; 0x40000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
306 3fc: e2488001 sub r8, r8, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
307 400: e3580000 cmp r8, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
308 404: 0a0000aa beq 0x6b4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
309 408: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
310 40c: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
311 410: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
312 414: 1afffff8 bne 0x3fc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
313 418: e5d01000 ldrb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
314 41c: e3510000 cmp r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
315 420: 1a000003 bne 0x434 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
316 424: e2422001 sub r2, r2, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
317 428: e3520000 cmp r2, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
318 42c: 0a0000a0 beq 0x6b4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
319 430: eafffff1 b 0x3fc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
320 434: e351001b cmp r1, #27 ; 0x1b |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
321 438: 1affffef bne 0x3fc |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
322 ; got 1B |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
323 43c: e3a08701 mov r8, #262144 ; 0x40000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
324 440: e2488001 sub r8, r8, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
325 444: e3580000 cmp r8, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
326 448: 0a000099 beq 0x6b4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
327 44c: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
328 450: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
329 454: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
330 458: 1afffff8 bne 0x440 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
331 45c: e5d01000 ldrb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
332 460: e35100f6 cmp r1, #246 ; 0xf6 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
333 464: 1a000092 bne 0x6b4 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
334 ; got F6 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
335 468: e3a08801 mov r8, #65536 ; 0x10000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
336 46c: e2488001 sub r8, r8, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
337 470: e3580000 cmp r8, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
338 474: 0a00008e beq 0x6b4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
339 478: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
340 47c: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
341 480: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
342 484: 1afffff8 bne 0x46c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
343 488: e5d01000 ldrb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
344 48c: e3510002 cmp r1, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
345 490: 1a000087 bne 0x6b4 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
346 ; got 02 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
347 494: e3a08801 mov r8, #65536 ; 0x10000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
348 498: e2488001 sub r8, r8, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
349 49c: e3580000 cmp r8, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
350 4a0: 0a000083 beq 0x6b4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
351 4a4: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
352 4a8: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
353 4ac: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
354 4b0: 1afffff8 bne 0x498 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
355 4b4: e5d01000 ldrb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
356 4b8: e3510000 cmp r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
357 4bc: 1a00007c bne 0x6b4 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
358 ; got 00 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
359 4c0: e3a08801 mov r8, #65536 ; 0x10000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
360 4c4: e2488001 sub r8, r8, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
361 4c8: e3580000 cmp r8, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
362 4cc: 0a000078 beq 0x6b4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
363 4d0: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
364 4d4: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
365 4d8: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
366 4dc: 1afffff8 bne 0x4c4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
367 4e0: e5d01000 ldrb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
368 4e4: e3510052 cmp r1, #82 ; 0x52 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
369 4e8: 1a000071 bne 0x6b4 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
370 ; got 52 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
371 4ec: e3a08801 mov r8, #65536 ; 0x10000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
372 4f0: e2488001 sub r8, r8, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
373 4f4: e3580000 cmp r8, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
374 4f8: 0a00006d beq 0x6b4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
375 4fc: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
376 500: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
377 504: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
378 508: 1afffff8 bne 0x4f0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
379 50c: e5d01000 ldrb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
380 510: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
381 514: 1a000066 bne 0x6b4 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
382 ; got 01 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
383 518: e3a08801 mov r8, #65536 ; 0x10000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
384 51c: e2488001 sub r8, r8, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
385 520: e3580000 cmp r8, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
386 524: 0a000062 beq 0x6b4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
387 528: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
388 52c: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
389 530: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
390 534: 1afffff8 bne 0x51c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
391 538: e59f01b4 ldr r0, =0xffff5800 ; via 0x6f4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
392 53c: e5d01000 ldrb r1, [r0] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
393 ; emit 1B F6 02 00 41 02 43 before checking the last Rx char! |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
394 540: e3a0201b mov r2, #27 ; 0x1b |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
395 544: e5c02000 strb r2, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
396 548: e3a020f6 mov r2, #246 ; 0xf6 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
397 54c: e5c02000 strb r2, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
398 550: e3a02002 mov r2, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
399 554: e5c02000 strb r2, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
400 558: e3a02000 mov r2, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
401 55c: e5c02000 strb r2, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
402 560: e3a02041 mov r2, #65 ; 0x41 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
403 564: e5c02000 strb r2, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
404 568: e3a02002 mov r2, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
405 56c: e5c02000 strb r2, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
406 570: e3a02043 mov r2, #67 ; 0x43 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
407 574: e5c02000 strb r2, [r0] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
408 ; now check for 53 |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
409 ; if not 53, go back to wait for 01-53 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
410 578: e3510053 cmp r1, #83 ; 0x53 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
411 57c: 0a000000 beq 0x584 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
412 580: eaffffda b 0x4f0 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
413 ; got 53 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
414 584: e3a02000 mov r2, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
415 588: e59f3190 ldr r3, =0x800100 ; via 0x720 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
416 58c: e3a04000 mov r4, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
417 590: e3a05001 mov r5, #1 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
418 ; endless wait for Rx byte |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
419 594: e5d01005 ldrb r1, [r0, #5] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
420 598: e2011001 and r1, r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
421 59c: e3510001 cmp r1, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
422 5a0: 1afffffb bne 0x594 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
423 5a4: e5d01000 ldrb r1, [r0] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
424 ; state machine dispatch |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
425 5a8: e3520000 cmp r2, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
426 5ac: 0a000008 beq 0x5d4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
427 5b0: e3520001 cmp r2, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
428 5b4: 0a00000b beq 0x5e8 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
429 5b8: e3520002 cmp r2, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
430 5bc: 0a00000d beq 0x5f8 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
431 5c0: e3520003 cmp r2, #3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
432 5c4: 0a00000f beq 0x608 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
433 5c8: e3520004 cmp r2, #4 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
434 5cc: 0a000015 beq 0x628 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
435 5d0: ea000037 b 0x6b4 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
436 ; R2=0: must receive 02 first |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
437 5d4: e3510002 cmp r1, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
438 5d8: 1affffed bne 0x594 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
439 5dc: e1a06001 mov r6, r1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
440 5e0: e2822001 add r2, r2, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
441 5e4: eaffffea b 0x594 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
442 ; R2=1: got MSB of length |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
443 5e8: e1a04401 mov r4, r1, lsl #8 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
444 5ec: e0266001 eor r6, r6, r1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
445 5f0: e2822001 add r2, r2, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
446 5f4: eaffffe6 b 0x594 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
447 ; R2=2: got LSB of length |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
448 5f8: e0844001 add r4, r4, r1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
449 5fc: e0266001 eor r6, r6, r1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
450 600: e2822001 add r2, r2, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
451 604: eaffffe2 b 0x594 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
452 ; R2=3: payload |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
453 608: e5c31000 strb r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
454 60c: e0266001 eor r6, r6, r1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
455 610: e2833001 add r3, r3, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
456 614: e2444001 sub r4, r4, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
457 618: e3540000 cmp r4, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
458 61c: 1affffdc bne 0x594 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
459 620: e2822001 add r2, r2, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
460 624: eaffffda b 0x594 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
461 ; R2=4: checksum expected |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
462 628: e1560001 cmp r6, r1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
463 62c: 1a000012 bne 0x67c |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
464 ; checksum good |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
465 ; emit 1B F6 02 00 41 03 42 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
466 630: e3a0101b mov r1, #27 ; 0x1b |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
467 634: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
468 638: e3a010f6 mov r1, #246 ; 0xf6 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
469 63c: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
470 640: e3a01002 mov r1, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
471 644: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
472 648: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
473 64c: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
474 650: e3a01041 mov r1, #65 ; 0x41 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
475 654: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
476 658: e3a01003 mov r1, #3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
477 65c: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
478 660: e3a01042 mov r1, #66 ; 0x42 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
479 664: e5c01000 strb r1, [r0] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
480 ; SP=0x803FFC |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
481 668: e59f00b4 ldr r0, =0x803ffc ; via 0x724 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
482 66c: e1a0d000 mov sp, r0 |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
483 ; jump to 0x800100 in Thumb state |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
484 670: e59f00a8 ldr r0, =0x800100 ; via 0x720 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
485 674: e280e001 add lr, r0, #1 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
486 678: e12fff1e bx lr |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
487 ; checksum mismatch |
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
488 ; emit 1B F6 02 00 45 53 16 |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
489 67c: e3a0101b mov r1, #27 ; 0x1b |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
490 680: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
491 684: e3a010f6 mov r1, #246 ; 0xf6 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
492 688: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
493 68c: e3a01002 mov r1, #2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
494 690: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
495 694: e3a01000 mov r1, #0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
496 698: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
497 69c: e3a01045 mov r1, #69 ; 0x45 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
498 6a0: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
499 6a4: e3a01053 mov r1, #83 ; 0x53 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
500 6a8: e5c01000 strb r1, [r0] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
501 6ac: e3a01016 mov r1, #22 ; 0x16 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
502 6b0: e5c01000 strb r1, [r0] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
503 ; bail out path |
277
5c47d916255e
compal/c156-boot.disasm: GPIO comments were wrong
Mychaela Falconia <falcon@freecalypso.org>
parents:
109
diff
changeset
|
504 ; ARMIO_LATCH_OUT: set GPIO 9 low |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
505 6b4: e59f3050 ldr r3, =0xfffe4802 ; via 0x70c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
506 6b8: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
507 6bc: e3a030ff mov r3, #255 ; 0xff |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
508 6c0: e3a02cfd mov r2, #64768 ; 0xfd00 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
509 6c4: e1822003 orr r2, r2, r3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
510 6c8: e0011002 and r1, r1, r2 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
511 6cc: e59f3034 ldr r3, =0xfffe4800 ; via 0x708 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
512 6d0: e1c310b2 strh r1, [r3, #2] |
109
e40592990516
C156 boot code cracked
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
108
diff
changeset
|
513 ; switch GPIO12 back to input |
108
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
514 6d4: e59f3034 ldr r3, =0xfffe4804 ; via 0x710 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
515 6d8: e5931000 ldr r1, [r3] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
516 6dc: e3811a01 orr r1, r1, #4096 ; 0x1000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
517 6e0: e59f3020 ldr r3, =0xfffe4800 ; via 0x708 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
518 6e4: e1c310b4 strh r1, [r3, #4] |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
519 6e8: ea007e7c b 0x200e0 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
520 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
521 6ec: 000002a3 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
522 6f0: fffffb00 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
523 6f4: ffff5800 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
524 6f8: ffff5801 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
525 6fc: ffff5803 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
526 700: fffffb00 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
527 704: fffef000 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
528 708: fffe4800 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
529 70c: fffe4802 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
530 710: fffe4804 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
531 714: fffe480c |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
532 718: fffe480a |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
533 71c: fffef006 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
534 720: 00800100 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
535 724: 00803ffc |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
536 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
537 <728-7FF: all FFs> |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
538 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
539 00000800: 42 4F 4F 54 2E 39 30 2E 30 35 00 00 00 00 00 00 BOOT.90.05...... |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
540 00000810: 31 30 30 33 01 02 00 00 FF FF FF FF FF FF FF FF 1003............ |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
541 00000820: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
542 |
85bb35342834
C156 boot code disassembly started
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
543 blank flash from here onward, until the main fw image starts at 0x20000 |