annotate bootrom.disasm @ 11:a51729642295

boot ROM re: got to the 0x1090 routine
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 21 Apr 2013 21:48:50 +0000
parents a06573cacb6e
children 25b016d16602
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 RESET entry and exception vectors:
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 0: ea000524 b 0x1498
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 4: ea200004 b 0x80001c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 8: ea200004 b 0x800020
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 c: ea200004 b 0x800024
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 10: ea200004 b 0x800028
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 14: ea200004 b 0x80002c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 18: ea200004 b 0x800030
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9 1c: ea200004 b 0x800034
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
11 ; The following routine (starting at 0x20) is used to transfer control
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
12 ; to nCS0 application images that are designed to work with no internal
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
13 ; boot ROM "in the way", i.e., images identified by a 1 in the 0x2000 word.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
14 ; The present routine is copied to the internal RAM and executed there.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
15 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
16 ; The routine itself takes one argument in R0 and uses it to set the
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
17 ; nIBOOT override bits in the FFFF:FB10 register. If R0==1, bits <9:8>
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
18 ; of this register are set to 11, putting nCS0 at address 0. If R0==0,
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
19 ; the bits are set to 01, putting the internal ROM at 0. Otherwise,
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
20 ; the bits are set to 00, restoring the nIBOOT pin configuration.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
21 ; (In actual operation the argument passed to this function is the word
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
22 ; from 0x2000, so it's equal to 1.) Then the routine causes the
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
23 ; watchdog timer to go off, resetting the ARM.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
24
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 20: e24dd004 sub sp, sp, #4 ; 0x4
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
26 24: e59f20b8 ldr r2, =0xFFFFFB10 ; via 0xe4
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
27 28: e1d2c0b0 ldrh r12, [r2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
28 2c: e20c10ff and r1, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
29 30: e20ccb3f and r12, r12, #64512 ; 0xfc00
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
30 34: e181c00c orr r12, r1, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
31 38: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
32 3c: e1a0c82c mov r12, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
33 40: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
34 44: 0a000005 beq 0x60
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
35 48: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
36 4c: 1a000006 bne 0x6c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
37 50: e38ccc01 orr r12, r12, #256 ; 0x100
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
38 54: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
39 58: e1a0c82c mov r12, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
40 5c: ea000002 b 0x6c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
41 60: e38ccc03 orr r12, r12, #768 ; 0x300
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
42 64: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
43 68: e1a0c82c mov r12, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
44 6c: e1c2c0b0 strh r12, [r2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
45 70: e3a0cfc3 mov r12, #780 ; 0x30c
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
46 74: e59f006c ldr r0, =0x80F5 ; via 0xe8
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
47 78: e10200bc strh r0, [r2, -r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
48 7c: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
49 80: e1cdc0b0 strh r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
50 84: ea000002 b 0x94
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
51 88: e1ddc0b0 ldrh r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
52 8c: e28cc001 add r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
53 90: e1cdc0b0 strh r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
54 94: e1dd10b0 ldrh r1, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
55 98: e3a0c902 mov r12, #32768 ; 0x8000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
56 9c: e24ccead sub r12, r12, #2768 ; 0xad0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
57 a0: e151000c cmp r1, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
58 a4: bafffff7 blt 0x88
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
59 a8: e3a0cfc3 mov r12, #780 ; 0x30c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
60 ac: e10200bc strh r0, [r2, -r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
61 b0: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
62 b4: e1cdc0b0 strh r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
63 b8: ea000002 b 0xc8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
64 bc: e1ddc0b0 ldrh r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
65 c0: e28cc001 add r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
66 c4: e1cdc0b0 strh r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
67 c8: e1ddc0b0 ldrh r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
68 cc: e3a00902 mov r0, #32768 ; 0x8000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
69 d0: e2400ead sub r0, r0, #2768 ; 0xad0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
70 d4: e15c0000 cmp r12, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
71 d8: bafffff7 blt 0xbc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
72 dc: e28dd004 add sp, sp, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
73 e0: e12fff1e bx lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
74
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
75 ; literal pool for the above routine
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
76 e4: fffffb10
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
77 e8: 000080f5
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
78 ; end of the code copied to the internal RAM for booting type 1 images
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
79
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
80 ec: e92d4010 stmdb sp!, {r4, lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
81 f0: e59fcd0c ldr r12, [pc, #3340] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
82 f4: e59c4014 ldr r4, [r12, #20]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
83 f8: e59f0d08 ldr r0, [pc, #3336] ; 0xe08
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
84 fc: e5dcc008 ldrb r12, [r12, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
85 100: e790c10c ldr r12, [r0, r12, lsl #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
86 104: e28c0005 add r0, r12, #5 ; 0x5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
87 108: e5d0c000 ldrb r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
88 10c: e31c0040 tst r12, #64 ; 0x40
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
89 110: 0afffffc beq 0x108
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
90 114: eb000513 bl 0x1568 ; IND_CALL
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
91 118: eafffffe b 0x118
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
92
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
93 11c: e3a0c004 mov r12, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
94 120: e5c0c000 strb r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
95 124: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
96 128: e1c0c0be strh r12, [r0, #14]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
97 12c: e1c0c1b0 strh r12, [r0, #16]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
98 130: e580c014 str r12, [r0, #20]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
99 134: e5c0c018 strb r12, [r0, #24]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
100 138: e12fff1e bx lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
101
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
102 13c: e92d4000 stmdb sp!, {lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
103 140: e1a0c000 mov r12, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
104 144: e59f0cc0 ldr r0, [pc, #3264] ; 0xe0c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
105 148: e3a0103e mov r1, #62 ; 0x3e
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
106 14c: e5c01000 strb r1, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
107 150: e35c0009 cmp r12, #9 ; 0x9
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
108 154: 88bd8000 ldmhiia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
109 158: e28f1000 add r1, pc, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
110 15c: e791f10c ldr pc, [r1, r12, lsl #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
111 160: 000002ac andeq r0, r0, r12, lsr #5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
112 164: 00000280 andeq r0, r0, r0, lsl #5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
113 168: 00000264 andeq r0, r0, r4, ror #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
114 16c: 00000248 andeq r0, r0, r8, asr #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
115 170: 00000224 andeq r0, r0, r4, lsr #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
116 174: 00000200 andeq r0, r0, r0, lsl #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
117 178: 000001dc ldreqd r0, [r0], -r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
118 17c: 000001c0 andeq r0, r0, r0, asr #3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
119 180: 000001a4 andeq r0, r0, r4, lsr #3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
120 184: 00000188 andeq r0, r0, r8, lsl #3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
121
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
122 188: e3a0c042 mov r12, #66 ; 0x42
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
123 18c: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
124 190: e3a01002 mov r1, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
125 194: e59fcc74 ldr r12, [pc, #3188] ; 0xe10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
126 198: e5dc2000 ldrb r2, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
127 19c: eb000458 bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
128 1a0: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
129
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
130 1a4: e3a0c062 mov r12, #98 ; 0x62
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
131 1a8: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
132 1ac: e3a01002 mov r1, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
133 1b0: e59fcc58 ldr r12, [pc, #3160] ; 0xe10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
134 1b4: e5dc2000 ldrb r2, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
135 1b8: eb000451 bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
136 1bc: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
137
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
138 1c0: e3a0c061 mov r12, #97 ; 0x61
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
139 1c4: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
140 1c8: e3a01002 mov r1, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
141 1cc: e59fcc3c ldr r12, [pc, #3132] ; 0xe10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
142 1d0: e5dc2000 ldrb r2, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
143 1d4: eb00044a bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
144 1d8: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
145
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
146 1dc: e3a0c043 mov r12, #67 ; 0x43
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
147 1e0: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
148 1e4: e59fcc18 ldr r12, [pc, #3096] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
149 1e8: e5dc1010 ldrb r1, [r12, #16]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
150 1ec: e5c01002 strb r1, [r0, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
151 1f0: e5dc2008 ldrb r2, [r12, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
152 1f4: e3a01003 mov r1, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
153 1f8: eb000441 bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
154 1fc: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
155
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
156 200: e3a0c063 mov r12, #99 ; 0x63
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
157 204: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
158 208: e59fcbf4 ldr r12, [pc, #3060] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
159 20c: e5dc1010 ldrb r1, [r12, #16]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
160 210: e5c01002 strb r1, [r0, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
161 214: e5dc2008 ldrb r2, [r12, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
162 218: e3a01003 mov r1, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
163 21c: eb000438 bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
164 220: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
165
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
166 224: e3a0c057 mov r12, #87 ; 0x57
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
167 228: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
168 22c: e59fcbd0 ldr r12, [pc, #3024] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
169 230: e5dc1019 ldrb r1, [r12, #25]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
170 234: e5c01002 strb r1, [r0, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
171 238: e5dc2008 ldrb r2, [r12, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
172 23c: e3a01003 mov r1, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
173 240: eb00042f bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
174 244: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
175
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
176 248: e3a0c077 mov r12, #119 ; 0x77
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
177 24c: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
178 250: e3a01002 mov r1, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
179 254: e59fcbb4 ldr r12, [pc, #2996] ; 0xe10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
180 258: e5dc2000 ldrb r2, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
181 25c: eb000428 bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
182 260: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
183
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
184 264: e3a0c050 mov r12, #80 ; 0x50
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
185 268: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
186 26c: e3a01002 mov r1, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
187 270: e59fcb98 ldr r12, [pc, #2968] ; 0xe10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
188 274: e5dc2000 ldrb r2, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
189 278: eb000421 bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
190 27c: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
191
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
192 280: e3a0c070 mov r12, #112 ; 0x70
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
193 284: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
194 288: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
195 28c: e5c0c002 strb r12, [r0, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
196 290: e3a0c004 mov r12, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
197 294: e5c0c003 strb r12, [r0, #3]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
198 298: e3a01004 mov r1, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
199 29c: e59fcb6c ldr r12, [pc, #2924] ; 0xe10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
200 2a0: e5dc2000 ldrb r2, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
201 2a4: eb000416 bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
202 2a8: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
203
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
204 2ac: e3a0c069 mov r12, #105 ; 0x69
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
205 2b0: e5c0c001 strb r12, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
206 2b4: e3a01002 mov r1, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
207 2b8: e59fcb50 ldr r12, [pc, #2896] ; 0xe10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
208 2bc: e5dc2000 ldrb r2, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
209 2c0: eb00040f bl 0x1304
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
210 2c4: e8bd8000 ldmia sp!, {pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
211
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
212 2c8: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
213 2cc: e24dd004 sub sp, sp, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
214 2d0: e1a0b000 mov r11, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
215 2d4: e3a05000 mov r5, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
216 2d8: e5cb5000 strb r5, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
217 2dc: e59f7b30 ldr r7, [pc, #2864] ; 0xe14
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
218 2e0: e59f4b1c ldr r4, [pc, #2844] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
219 2e4: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
220 2e8: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
221 2ec: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
222 2f0: eb00044c bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
223 2f4: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
224 2f8: 0a0000fc beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
225 2fc: e5ddc002 ldrb r12, [sp, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
226 300: e25cc061 subs r12, r12, #97 ; 0x61
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
227 304: 0a000104 beq 0x71c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
228 308: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
229 30c: 0a0000ee beq 0x6cc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
230 310: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
231 314: 0a0000e1 beq 0x6a0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
232 318: e25cc006 subs r12, r12, #6 ; 0x6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
233 31c: 0a0000dc beq 0x694
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
234 320: e25cc007 subs r12, r12, #7 ; 0x7
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
235 324: 0a0000b8 beq 0x60c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
236 328: e25cc007 subs r12, r12, #7 ; 0x7
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
237 32c: 1a0000fc bne 0x724
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
238 330: e5c45018 strb r5, [r4, #24]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
239 334: e3a0a000 mov r10, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
240 338: e3a06000 mov r6, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
241 33c: ea000015 b 0x398
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
242 340: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
243 344: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
244 348: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
245 34c: eb000435 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
246 350: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
247 354: 0a0000e5 beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
248 358: e5ddc002 ldrb r12, [sp, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
249 35c: e35c003c cmp r12, #60 ; 0x3c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
250 360: 0a000001 beq 0x36c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
251 364: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
252 368: e5c4c018 strb r12, [r4, #24]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
253 36c: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
254 370: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
255 374: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
256 378: eb00042a bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
257 37c: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
258 380: 0a0000da beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
259 384: e5ddc002 ldrb r12, [sp, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
260 388: e35c0077 cmp r12, #119 ; 0x77
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
261 38c: 0a000001 beq 0x398
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
262 390: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
263 394: e5c4c018 strb r12, [r4, #24]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
264 398: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
265 39c: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
266 3a0: e1a0200d mov r2, sp
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
267 3a4: eb00041f bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
268 3a8: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
269 3ac: 0a0000cf beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
270 3b0: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
271 3b4: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
272 3b8: e28d2001 add r2, sp, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
273 3bc: eb000419 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
274 3c0: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
275 3c4: 0a0000c9 beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
276 3c8: e5dd0000 ldrb r0, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
277 3cc: e5ddc001 ldrb r12, [sp, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
278 3d0: e150000c cmp r0, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
279 3d4: 1a000000 bne 0x3dc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
280 3d8: e3a0a001 mov r10, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
281 3dc: e5dd0000 ldrb r0, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
282 3e0: e5ddc001 ldrb r12, [sp, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
283 3e4: e150000c cmp r0, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
284 3e8: ca00007c bgt 0x5e0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
285 3ec: e5ddc001 ldrb r12, [sp, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
286 3f0: e35c0000 cmp r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
287 3f4: 0a000079 beq 0x5e0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
288 3f8: e5ddc000 ldrb r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
289 3fc: e35c0000 cmp r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
290 400: 0a000076 beq 0x5e0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
291 404: e3a08002 mov r8, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
292 408: e3a05000 mov r5, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
293 40c: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
294 410: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
295 414: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
296 418: eb000402 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
297 41c: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
298 420: 0a0000b2 beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
299 424: e5ddc002 ldrb r12, [sp, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
300 428: e18cc405 orr r12, r12, r5, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
301 42c: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
302 430: e1a0582c mov r5, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
303 434: e2588001 subs r8, r8, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
304 438: 1afffff3 bne 0x40c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
305 43c: e3a09004 mov r9, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
306 440: e3a08000 mov r8, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
307 444: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
308 448: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
309 44c: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
310 450: eb0003f4 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
311 454: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
312 458: 0a0000a4 beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
313 45c: e5ddc002 ldrb r12, [sp, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
314 460: e18c8408 orr r8, r12, r8, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
315 464: e2599001 subs r9, r9, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
316 468: 1afffff5 bne 0x444
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
317 46c: e59fc9a4 ldr r12, [pc, #2468] ; 0xe18
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
318 470: e158000c cmp r8, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
319 474: 3a00004e bcc 0x5b4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
320 478: e59f099c ldr r0, [pc, #2460] ; 0xe1c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
321 47c: e080c00c add r12, r0, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
322 480: e158000c cmp r8, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
323 484: 8a00004a bhi 0x5b4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
324 488: e085c006 add r12, r5, r6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
325 48c: e35c0ffe cmp r12, #1016 ; 0x3f8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
326 490: aa000037 bge 0x574
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
327 494: e59fc970 ldr r12, [pc, #2416] ; 0xe0c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
328 498: e5dd0000 ldrb r0, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
329 49c: e7c6000c strb r0, [r6, r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
330 4a0: e2860001 add r0, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
331 4a4: e1a00800 mov r0, r0, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
332 4a8: e1a06820 mov r6, r0, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
333 4ac: e5dd0001 ldrb r0, [sp, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
334 4b0: e7c6000c strb r0, [r6, r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
335 4b4: e2860001 add r0, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
336 4b8: e1a00800 mov r0, r0, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
337 4bc: e1a06820 mov r6, r0, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
338 4c0: e1a00425 mov r0, r5, lsr #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
339 4c4: e7c6000c strb r0, [r6, r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
340 4c8: e2860001 add r0, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
341 4cc: e1a00800 mov r0, r0, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
342 4d0: e1a06820 mov r6, r0, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
343 4d4: e7c6500c strb r5, [r6, r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
344 4d8: e2860001 add r0, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
345 4dc: e1a00800 mov r0, r0, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
346 4e0: e1a06820 mov r6, r0, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
347 4e4: e1a00c28 mov r0, r8, lsr #24
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
348 4e8: e7c6000c strb r0, [r6, r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
349 4ec: e2860001 add r0, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
350 4f0: e1a00800 mov r0, r0, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
351 4f4: e1a06820 mov r6, r0, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
352 4f8: e1a00828 mov r0, r8, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
353 4fc: e7c6000c strb r0, [r6, r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
354 500: e2860001 add r0, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
355 504: e1a00800 mov r0, r0, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
356 508: e1a06820 mov r6, r0, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
357 50c: e1a00428 mov r0, r8, lsr #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
358 510: e7c6000c strb r0, [r6, r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
359 514: e2860001 add r0, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
360 518: e1a00800 mov r0, r0, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
361 51c: e1a06820 mov r6, r0, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
362 520: e086900c add r9, r6, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
363 524: e5c98000 strb r8, [r9]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
364 528: e286c001 add r12, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
365 52c: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
366 530: e1a0682c mov r6, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
367 534: e3550000 cmp r5, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
368 538: 0a000018 beq 0x5a0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
369 53c: e085c006 add r12, r5, r6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
370 540: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
371 544: e1a0682c mov r6, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
372 548: e2899001 add r9, r9, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
373 54c: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
374 550: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
375 554: e1a02009 mov r2, r9
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
376 558: eb0003b2 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
377 55c: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
378 560: 0a000062 beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
379 564: e2899001 add r9, r9, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
380 568: e2555001 subs r5, r5, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
381 56c: 1afffff6 bne 0x54c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
382 570: ea00000a b 0x5a0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
383 574: e285c001 add r12, r5, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
384 578: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
385 57c: e1a0582c mov r5, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
386 580: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
387 584: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
388 588: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
389 58c: eb0003a5 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
390 590: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
391 594: 0a000055 beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
392 598: e2555001 subs r5, r5, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
393 59c: 1afffff7 bne 0x580
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
394 5a0: e35a0000 cmp r10, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
395 5a4: 0affff65 beq 0x340
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
396 5a8: e3a0c003 mov r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
397 5ac: e5cbc000 strb r12, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
398 5b0: ea00005b b 0x724
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
399 5b4: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
400 5b8: e5c4c018 strb r12, [r4, #24]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
401 5bc: e3a0c003 mov r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
402 5c0: e5cbc000 strb r12, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
403 5c4: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
404 5c8: e59f1850 ldr r1, [pc, #2128] ; 0xe20
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
405 5cc: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
406 5d0: eb000394 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
407 5d4: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
408 5d8: 0afffff9 beq 0x5c4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
409 5dc: ea000050 b 0x724
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
410 5e0: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
411 5e4: e5c4c018 strb r12, [r4, #24]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
412 5e8: e3a0c003 mov r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
413 5ec: e5cbc000 strb r12, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
414 5f0: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
415 5f4: e59f1824 ldr r1, [pc, #2084] ; 0xe20
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
416 5f8: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
417 5fc: eb000389 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
418 600: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
419 604: 0afffff9 beq 0x5f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
420 608: ea000045 b 0x724
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
421 60c: e59f67f8 ldr r6, [pc, #2040] ; 0xe0c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
422 610: e3a08009 mov r8, #9 ; 0x9
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
423 614: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
424 618: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
425 61c: e1a02006 mov r2, r6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
426 620: eb000380 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
427 624: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
428 628: 0a000030 beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
429 62c: e2866001 add r6, r6, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
430 630: e2588001 subs r8, r8, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
431 634: 1afffff6 bne 0x614
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
432 638: e59fc7cc ldr r12, [pc, #1996] ; 0xe0c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
433 63c: e5dc0000 ldrb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
434 640: e5c40000 strb r0, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
435 644: e5dc0001 ldrb r0, [r12, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
436 648: e5c40009 strb r0, [r4, #9]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
437 64c: e1c450ba strh r5, [r4, #10]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
438 650: e5dc1003 ldrb r1, [r12, #3]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
439 654: e5dc0002 ldrb r0, [r12, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
440 658: e1810400 orr r0, r1, r0, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
441 65c: e1c400ba strh r0, [r4, #10]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
442 660: e5dc0004 ldrb r0, [r12, #4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
443 664: e5c4000d strb r0, [r4, #13]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
444 668: e5dc0006 ldrb r0, [r12, #6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
445 66c: e5dc1005 ldrb r1, [r12, #5]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
446 670: e1801401 orr r1, r0, r1, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
447 674: e5dc0007 ldrb r0, [r12, #7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
448 678: e1800401 orr r0, r0, r1, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
449 67c: e5dcc008 ldrb r12, [r12, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
450 680: e18cc400 orr r12, r12, r0, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
451 684: e584c004 str r12, [r4, #4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
452 688: e3a0c002 mov r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
453 68c: e5cbc000 strb r12, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
454 690: ea000023 b 0x724
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
455 694: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
456 698: e5cbc000 strb r12, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
457 69c: ea000020 b 0x724
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
458 6a0: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
459 6a4: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
460 6a8: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
461 6ac: eb00035d bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
462 6b0: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
463 6b4: 0a00000d beq 0x6f0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
464 6b8: e5ddc002 ldrb r12, [sp, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
465 6bc: e1c4c0be strh r12, [r4, #14]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
466 6c0: e3a0c004 mov r12, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
467 6c4: e5cbc000 strb r12, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
468 6c8: ea000015 b 0x724
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
469 6cc: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
470 6d0: e584c014 str r12, [r4, #20]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
471 6d4: e3a05004 mov r5, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
472 6d8: e5d40008 ldrb r0, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
473 6dc: e5971000 ldr r1, [r7]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
474 6e0: e28d2002 add r2, sp, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
475 6e4: eb00034f bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
476 6e8: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
477 6ec: 1a000001 bne 0x6f8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
478 6f0: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
479 6f4: ea00000b b 0x728
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
480 6f8: e5dd0002 ldrb r0, [sp, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
481 6fc: e594c014 ldr r12, [r4, #20]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
482 700: e180c40c orr r12, r0, r12, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
483 704: e584c014 str r12, [r4, #20]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
484 708: e2555001 subs r5, r5, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
485 70c: 1afffff1 bne 0x6d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
486 710: e3a0c006 mov r12, #6 ; 0x6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
487 714: e5cbc000 strb r12, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
488 718: ea000001 b 0x724
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
489 71c: e3a0c005 mov r12, #5 ; 0x5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
490 720: e5cbc000 strb r12, [r11]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
491 724: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
492 728: e28dd004 add sp, sp, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
493 72c: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
494 730: e92d43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
495 734: e59f46c8 ldr r4, [pc, #1736] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
496 738: e5d4c018 ldrb r12, [r4, #24]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
497 73c: e35c0001 cmp r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
498 740: 0a00004a beq 0x870
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
499 744: e59f56c0 ldr r5, [pc, #1728] ; 0xe0c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
500 748: e59f66c8 ldr r6, [pc, #1736] ; 0xe18
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
501 74c: e3a07000 mov r7, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
502 750: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
503 754: e080c005 add r12, r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
504 758: e28cc001 add r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
505 75c: e7d02005 ldrb r2, [r0, r5]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
506 760: e5dc1000 ldrb r1, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
507 764: e1520001 cmp r2, r1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
508 768: 1a000000 bne 0x770
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
509 76c: e3a07001 mov r7, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
510 770: e5dc2002 ldrb r2, [r12, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
511 774: e5dc1001 ldrb r1, [r12, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
512 778: e0821401 add r1, r2, r1, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
513 77c: e1a01801 mov r1, r1, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
514 780: e1a01821 mov r1, r1, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
515 784: e5dc3004 ldrb r3, [r12, #4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
516 788: e5dc2003 ldrb r2, [r12, #3]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
517 78c: e0832402 add r2, r3, r2, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
518 790: e5dc3005 ldrb r3, [r12, #5]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
519 794: e0832402 add r2, r3, r2, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
520 798: e5dcc006 ldrb r12, [r12, #6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
521 79c: e08c2402 add r2, r12, r2, lsl #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
522 7a0: e202c0ff and r12, r2, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
523 7a4: e081300c add r3, r1, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
524 7a8: e1a0c422 mov r12, r2, lsr #8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
525 7ac: e20cc0ff and r12, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
526 7b0: e08c3003 add r3, r12, r3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
527 7b4: e1a0c822 mov r12, r2, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
528 7b8: e20cc0ff and r12, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
529 7bc: e08cc003 add r12, r12, r3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
530 7c0: e08ccc22 add r12, r12, r2, lsr #24
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
531 7c4: e28cc005 add r12, r12, #5 ; 0x5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
532 7c8: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
533 7cc: e1a0882c mov r8, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
534 7d0: e3a03000 mov r3, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
535 7d4: e1520006 cmp r2, r6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
536 7d8: 3a000003 bcc 0x7ec
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
537 7dc: e59fc638 ldr r12, [pc, #1592] ; 0xe1c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
538 7e0: e08cc006 add r12, r12, r6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
539 7e4: e152000c cmp r2, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
540 7e8: 9a000001 bls 0x7f4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
541 7ec: e383c001 orr r12, r3, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
542 7f0: e20c30ff and r3, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
543 7f4: e3530000 cmp r3, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
544 7f8: 1a00001d bne 0x874
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
545 7fc: e3a09000 mov r9, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
546 800: e3510000 cmp r1, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
547 804: 0a00000b beq 0x838
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
548 808: e089c000 add r12, r9, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
549 80c: e085c00c add r12, r5, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
550 810: e5dcc008 ldrb r12, [r12, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
551 814: e4c2c001 strb r12, [r2], #1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
552 818: e08cc008 add r12, r12, r8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
553 81c: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
554 820: e1a0882c mov r8, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
555 824: e289c001 add r12, r9, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
556 828: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
557 82c: e1a0982c mov r9, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
558 830: e2511001 subs r1, r1, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
559 834: 1afffff3 bne 0x808
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
560 838: e3a0c0ff mov r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
561 83c: e1ccc008 bic r12, r12, r8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
562 840: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
563 844: e1a0882c mov r8, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
564 848: e1d4c1b0 ldrh r12, [r4, #16]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
565 84c: e088c00c add r12, r8, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
566 850: e1c4c1b0 strh r12, [r4, #16]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
567 854: e080c009 add r12, r0, r9
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
568 858: e28cc008 add r12, r12, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
569 85c: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
570 860: e1a0082c mov r0, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
571 864: e3570000 cmp r7, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
572 868: 0affffb9 beq 0x754
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
573 86c: ea000000 b 0x874
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
574 870: e3a03002 mov r3, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
575 874: e5c43019 strb r3, [r4, #25]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
576 878: e3530000 cmp r3, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
577 87c: 0a000008 beq 0x8a4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
578 880: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
579 884: ebfffe2c bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
580 888: e5d41008 ldrb r1, [r4, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
581 88c: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
582 890: eb0002d0 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
583 894: e1a00004 mov r0, r4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
584 898: ebfffe1f bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
585 89c: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
586 8a0: e8bd83f0 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
587
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
588 8a4: e3a00003 mov r0, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
589 8a8: ebfffe23 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
590 8ac: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
591 8b0: e8bd83f0 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
592
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
593 8b4: e92d4070 stmdb sp!, {r4, r5, r6, lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
594 8b8: e24dd008 sub sp, sp, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
595 8bc: e59f4560 ldr r4, [pc, #1376] ; 0xe24
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
596 8c0: e5d4c000 ldrb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
597 8c4: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
598 8c8: 0a000102 beq 0xcd8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
599 8cc: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
600 8d0: 0a00008a beq 0xb00
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
601 8d4: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
602 8d8: 0a000047 beq 0x9fc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
603 8dc: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
604 8e0: 1a000145 bne 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
605 8e4: e250c001 subs r12, r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
606 8e8: 0a00003c beq 0x9e0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
607 8ec: e25cc002 subs r12, r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
608 8f0: 0a00002f beq 0x9b4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
609 8f4: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
610 8f8: 0a000022 beq 0x988
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
611 8fc: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
612 900: 0a000017 beq 0x964
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
613 904: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
614 908: 1a00013b bne 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
615 90c: e59f54f0 ldr r5, [pc, #1264] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
616 910: e59f0500 ldr r0, [pc, #1280] ; 0xe18
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
617 914: e595c014 ldr r12, [r5, #20]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
618 918: e15c0000 cmp r12, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
619 91c: 3a000006 bcc 0x93c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
620 920: e59f14f4 ldr r1, [pc, #1268] ; 0xe1c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
621 924: e0810000 add r0, r1, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
622 928: e15c0000 cmp r12, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
623 92c: 8a000002 bhi 0x93c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
624 930: e3a00008 mov r0, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
625 934: ebfffe00 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
626 938: ebfffdeb bl 0xec
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
627 93c: e3a00009 mov r0, #9 ; 0x9
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
628 940: ebfffdfd bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
629 944: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
630 948: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
631 94c: eb0002a1 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
632 950: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
633 954: ebfffdf0 bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
634 958: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
635 95c: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
636 960: ea000125 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
637 964: e59f5498 ldr r5, [pc, #1176] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
638 968: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
639 96c: ebfffdea bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
640 970: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
641 974: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
642 978: eb000296 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
643 97c: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
644 980: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
645 984: ea00011c b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
646 988: e3a00006 mov r0, #6 ; 0x6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
647 98c: ebfffdea bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
648 990: e59f546c ldr r5, [pc, #1132] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
649 994: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
650 998: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
651 99c: eb00028d bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
652 9a0: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
653 9a4: ebfffddc bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
654 9a8: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
655 9ac: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
656 9b0: ea000111 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
657 9b4: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
658 9b8: ebfffddf bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
659 9bc: e59f5440 ldr r5, [pc, #1088] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
660 9c0: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
661 9c4: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
662 9c8: eb000282 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
663 9cc: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
664 9d0: ebfffdd1 bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
665 9d4: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
666 9d8: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
667 9dc: ea000106 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
668 9e0: e59f041c ldr r0, [pc, #1052] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
669 9e4: ebfffdcc bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
670 9e8: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
671 9ec: ebfffdd2 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
672 9f0: e3a0c004 mov r12, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
673 9f4: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
674 9f8: ea0000ff b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
675 9fc: e250c001 subs r12, r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
676 a00: 0a000037 beq 0xae4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
677 a04: e25cc002 subs r12, r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
678 a08: 0a000031 beq 0xad4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
679 a0c: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
680 a10: 0a000017 beq 0xa74
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
681 a14: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
682 a18: 0a00000c beq 0xa50
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
683 a1c: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
684 a20: 1a0000f5 bne 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
685 a24: e3a00009 mov r0, #9 ; 0x9
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
686 a28: ebfffdc3 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
687 a2c: e59f53d0 ldr r5, [pc, #976] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
688 a30: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
689 a34: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
690 a38: eb000266 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
691 a3c: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
692 a40: ebfffdb5 bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
693 a44: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
694 a48: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
695 a4c: ea0000ea b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
696 a50: e59f53ac ldr r5, [pc, #940] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
697 a54: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
698 a58: ebfffdaf bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
699 a5c: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
700 a60: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
701 a64: eb00025b bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
702 a68: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
703 a6c: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
704 a70: ea0000e1 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
705 a74: e59fc388 ldr r12, [pc, #904] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
706 a78: e3a010ff mov r1, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
707 a7c: e1dc01b0 ldrh r0, [r12, #16]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
708 a80: e1c10000 bic r0, r1, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
709 a84: e1dcc0be ldrh r12, [r12, #14]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
710 a88: e20cc0ff and r12, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
711 a8c: e150000c cmp r0, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
712 a90: 1a000004 bne 0xaa8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
713 a94: e3a00005 mov r0, #5 ; 0x5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
714 a98: ebfffda7 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
715 a9c: e3a0c004 mov r12, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
716 aa0: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
717 aa4: ea0000d4 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
718 aa8: e3a00006 mov r0, #6 ; 0x6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
719 aac: ebfffda2 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
720 ab0: e59f534c ldr r5, [pc, #844] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
721 ab4: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
722 ab8: ebfffd97 bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
723 abc: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
724 ac0: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
725 ac4: eb000243 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
726 ac8: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
727 acc: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
728 ad0: ea0000c9 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
729 ad4: ebffff15 bl 0x730
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
730 ad8: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
731 adc: 0a000038 beq 0xbc4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
732 ae0: ea00003a b 0xbd0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
733 ae4: e59f0318 ldr r0, [pc, #792] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
734 ae8: ebfffd8b bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
735 aec: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
736 af0: ebfffd91 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
737 af4: e3a0c003 mov r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
738 af8: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
739 afc: ea0000be b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
740 b00: e250c001 subs r12, r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
741 b04: 0a00006c beq 0xcbc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
742 b08: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
743 b0c: 0a000032 beq 0xbdc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
744 b10: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
745 b14: 0a000024 beq 0xbac
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
746 b18: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
747 b1c: 0a000017 beq 0xb80
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
748 b20: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
749 b24: 0a00000c beq 0xb5c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
750 b28: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
751 b2c: 1a0000b2 bne 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
752 b30: e3a00009 mov r0, #9 ; 0x9
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
753 b34: ebfffd80 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
754 b38: e59f52c4 ldr r5, [pc, #708] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
755 b3c: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
756 b40: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
757 b44: eb000223 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
758 b48: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
759 b4c: ebfffd72 bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
760 b50: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
761 b54: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
762 b58: ea0000a7 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
763 b5c: e59f52a0 ldr r5, [pc, #672] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
764 b60: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
765 b64: ebfffd6c bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
766 b68: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
767 b6c: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
768 b70: eb000218 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
769 b74: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
770 b78: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
771 b7c: ea00009e b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
772 b80: e3a00006 mov r0, #6 ; 0x6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
773 b84: ebfffd6c bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
774 b88: e59f5274 ldr r5, [pc, #628] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
775 b8c: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
776 b90: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
777 b94: eb00020f bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
778 b98: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
779 b9c: ebfffd5e bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
780 ba0: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
781 ba4: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
782 ba8: ea000093 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
783 bac: e59f0274 ldr r0, [pc, #628] ; 0xe28
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
784 bb0: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
785 bb4: e1c0c0b0 strh r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
786 bb8: ebfffedc bl 0x730
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
787 bbc: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
788 bc0: 1a000002 bne 0xbd0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
789 bc4: e3a0c003 mov r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
790 bc8: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
791 bcc: ea00008a b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
792 bd0: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
793 bd4: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
794 bd8: ea000087 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
795 bdc: e59f6220 ldr r6, [pc, #544] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
796 be0: e5d6c000 ldrb r12, [r6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
797 be4: e35c0000 cmp r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
798 be8: 0a000011 beq 0xc34
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
799 bec: e35c0001 cmp r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
800 bf0: 0a00000f beq 0xc34
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
801 bf4: e35c0002 cmp r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
802 bf8: 0a00000d beq 0xc34
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
803 bfc: e35c0003 cmp r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
804 c00: 0a00000b beq 0xc34
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
805 c04: e35c0004 cmp r12, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
806 c08: 0a000009 beq 0xc34
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
807 c0c: e3a00002 mov r0, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
808 c10: ebfffd49 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
809 c14: e5d61008 ldrb r1, [r6, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
810 c18: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
811 c1c: eb0001ed bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
812 c20: e1a00006 mov r0, r6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
813 c24: ebfffd3c bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
814 c28: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
815 c2c: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
816 c30: ea000071 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
817 c34: e5d6500d ldrb r5, [r6, #13]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
818 c38: e1d6c0ba ldrh r12, [r6, #10]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
819 c3c: e20c001f and r0, r12, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
820 c40: e20000ff and r0, r0, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
821 c44: e1a012ac mov r1, r12, lsr #5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
822 c48: e201101f and r1, r1, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
823 c4c: e20110ff and r1, r1, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
824 c50: e1a0c52c mov r12, r12, lsr #10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
825 c54: e20cc01f and r12, r12, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
826 c58: e20c20ff and r2, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
827 c5c: e205c00f and r12, r5, #15 ; 0xf
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
828 c60: e20c30ff and r3, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
829 c64: e1a0c225 mov r12, r5, lsr #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
830 c68: e5cdc000 strb r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
831 c6c: eb00006e bl 0xe2c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
832 c70: e5d6c009 ldrb r12, [r6, #9]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
833 c74: e5d6000c ldrb r0, [r6, #12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
834 c78: e20c1003 and r1, r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
835 c7c: e20110ff and r1, r1, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
836 c80: e1a0c12c mov r12, r12, lsr #2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
837 c84: e20cc01f and r12, r12, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
838 c88: e20c20ff and r2, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
839 c8c: eb000098 bl 0xef4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
840 c90: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
841 c94: ebfffd28 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
842 c98: e5d60000 ldrb r0, [r6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
843 c9c: e5d61008 ldrb r1, [r6, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
844 ca0: eb0001cc bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
845 ca4: e59fc168 ldr r12, [pc, #360] ; 0xe14
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
846 ca8: e5960004 ldr r0, [r6, #4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
847 cac: e58c0000 str r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
848 cb0: e3a0c002 mov r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
849 cb4: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
850 cb8: ea00004f b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
851 cbc: e59f0140 ldr r0, [pc, #320] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
852 cc0: ebfffd15 bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
853 cc4: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
854 cc8: ebfffd1b bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
855 ccc: e3a0c002 mov r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
856 cd0: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
857 cd4: ea000048 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
858 cd8: e250c001 subs r12, r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
859 cdc: 0a000040 beq 0xde4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
860 ce0: e25cc001 subs r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
861 ce4: 0a00000b beq 0xd18
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
862 ce8: e24cc001 sub r12, r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
863 cec: e35c0003 cmp r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
864 cf0: 8a000041 bhi 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
865 cf4: e59f5108 ldr r5, [pc, #264] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
866 cf8: e1a00005 mov r0, r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
867 cfc: ebfffd06 bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
868 d00: e5d51008 ldrb r1, [r5, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
869 d04: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
870 d08: eb0001b2 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
871 d0c: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
872 d10: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
873 d14: ea000038 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
874 d18: e59f60e4 ldr r6, [pc, #228] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
875 d1c: e5d6c000 ldrb r12, [r6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
876 d20: e35c0000 cmp r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
877 d24: 0a00000c beq 0xd5c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
878 d28: e35c0001 cmp r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
879 d2c: 0a00000a beq 0xd5c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
880 d30: e35c0002 cmp r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
881 d34: 0a000008 beq 0xd5c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
882 d38: e35c0003 cmp r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
883 d3c: 0a000006 beq 0xd5c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
884 d40: e35c0004 cmp r12, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
885 d44: 0a000004 beq 0xd5c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
886 d48: e3a00002 mov r0, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
887 d4c: ebfffcfa bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
888 d50: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
889 d54: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
890 d58: ea000027 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
891 d5c: e5d6500d ldrb r5, [r6, #13]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
892 d60: e1d6c0ba ldrh r12, [r6, #10]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
893 d64: e20c001f and r0, r12, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
894 d68: e20000ff and r0, r0, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
895 d6c: e1a012ac mov r1, r12, lsr #5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
896 d70: e201101f and r1, r1, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
897 d74: e20110ff and r1, r1, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
898 d78: e1a0c52c mov r12, r12, lsr #10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
899 d7c: e20cc01f and r12, r12, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
900 d80: e20c20ff and r2, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
901 d84: e205c00f and r12, r5, #15 ; 0xf
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
902 d88: e20c30ff and r3, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
903 d8c: e1a0c225 mov r12, r5, lsr #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
904 d90: e5cdc000 strb r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
905 d94: eb000024 bl 0xe2c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
906 d98: e5d6c009 ldrb r12, [r6, #9]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
907 d9c: e5d6000c ldrb r0, [r6, #12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
908 da0: e20c1003 and r1, r12, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
909 da4: e20110ff and r1, r1, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
910 da8: e1a0c12c mov r12, r12, lsr #2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
911 dac: e20cc01f and r12, r12, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
912 db0: e20c20ff and r2, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
913 db4: eb00004e bl 0xef4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
914 db8: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
915 dbc: ebfffcde bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
916 dc0: e5d60000 ldrb r0, [r6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
917 dc4: e5d61008 ldrb r1, [r6, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
918 dc8: eb000182 bl 0x13d8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
919 dcc: e59f0040 ldr r0, [pc, #64] ; 0xe14
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
920 dd0: e596c004 ldr r12, [r6, #4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
921 dd4: e580c000 str r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
922 dd8: e3a0c002 mov r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
923 ddc: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
924 de0: ea000005 b 0xdfc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
925 de4: e59f0018 ldr r0, [pc, #24] ; 0xe04
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
926 de8: ebfffccb bl 0x11c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
927 dec: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
928 df0: ebfffcd1 bl 0x13c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
929 df4: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
930 df8: e5c4c000 strb r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
931 dfc: e28dd008 add sp, sp, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
932 e00: e8bd8070 ldmia sp!, {r4, r5, r6, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
933
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
934 e04: 00800518 addeq r0, r0, r8, lsl r5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
935 e08: 00001fcc andeq r1, r0, r12, asr #31
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
936 e0c: 0080010c addeq r0, r0, r12, lsl #2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
937 e10: 00800520 addeq r0, r0, r0, lsr #10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
938 e14: 00800104 addeq r0, r0, r4, lsl #2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
939 e18: 00800750 addeq r0, r0, r0, asr r7
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
940 e1c: 0007f8af andeq pc, r7, pc, lsr #17
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
941 e20: 000fffff streqd pc, [pc], -pc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
942 e24: 00800108 addeq r0, r0, r8, lsl #2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
943 e28: 00800528 addeq r0, r0, r8, lsr #10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
944
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
945 ; The following routine performs basic sanity initialization
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
946 ; of the memory map and clocking.
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
947 ;
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
948 ; Arguments:
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
949 ; R0: WS setting for nCS0 (external ROM/flash)
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
950 ; R1: WS setting for nCS6 (internal RAM)
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
951 ; R2: WS setting for nCS7 (internal ROM)
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
952 ; R3: value to be written into bits <3:0> of FFFF:F900
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
953 ; stack arg: value to be written into bits <7:4> of FFFF:F900
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
954
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
955 e2c: e92d4070 stmdb sp!, {r4, r5, r6, lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
956 e30: e5dd5010 ldrb r5, [sp, #16]
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
957 ; mask all interrupts
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
958 e34: e59fc48c ldr r12, =0xFFFF ; via 0x12c8
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
959 e38: e59f4484 ldr r4, =0xFFFFFA08 ; via 0x12c4
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
960 e3c: e1c4c0b0 strh r12, [r4] ; 1st reg
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
961 e40: e59f4484 ldr r4, =0xFFFFFA0A ; via 0x12cc
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
962 e44: e1c4c0b0 strh r12, [r4] ; 2nd reg
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
963 ; disable the watchdog
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
964 e48: e59f4480 ldr r4, =0xFFFFF804 ; via 0x12d0
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
965 e4c: e3a0c0f5 mov r12, #245 ; 0xf5
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
966 e50: e1c4c0b0 strh r12, [r4] ; 1st write
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
967 e54: e3a0c0a0 mov r12, #160 ; 0xa0
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
968 e58: e1c4c0b0 strh r12, [r4] ; 2nd write
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
969 ; write 0x100 into the MCU memory map EXTRA_CONF register (FFFF:FB10)
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
970 ; forces the memory map to internal ROM, all other bits at
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
971 ; listed reset default values
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
972 e5c: e59f4470 ldr r4, =0xFFFFFB10 ; via 0x12d4
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
973 e60: e3a0cc01 mov r12, #256 ; 0x100
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
974 e64: e1c4c0b0 strh r12, [r4]
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
975 ; write 0xFF22 into FFFF:F900 in a convoluted way
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
976 e68: e59f6468 ldr r6, =0xFFFFFD00 ; via 0x12d8
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
977 e6c: e3a04b01 mov r4, #1024 ; 0x400
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
978 e70: e3a0c801 mov r12, #65536 ; 0x10000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
979 e74: e24cc0de sub r12, r12, #222 ; 0xde
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
980 e78: e106c0b4 strh r12, [r6, -r4]
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
981 ; DPLL control register written with what looks like the reset default value
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
982 e7c: e59fc45c ldr r12, 0x2002 ; via 0x12e0
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
983 e80: e59f4454 ldr r4, =0xFFFF9800 ; via 0x12dc
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
984 e84: e1c4c0b0 strh r12, [r4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
985 e88: e1b04f8c movs r4, r12, lsl #31
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
986 e8c: 1afffffd bne 0xe88
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
987 ; write 0x1083 into FFFF:FD00
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
988 ; sets the MCU clock to come directly from VTCXO, bypassing DPLL
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
989 e90: e3a0c083 mov r12, #131 ; 0x83
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
990 e94: e28cca01 add r12, r12, #4096 ; 0x1000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
991 e98: e1c6c0b0 strh r12, [r6]
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
992 ; clear bit 6 of FFFF:FD02 (set VCLKOUT-FR to /1)
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
993 e9c: e1d6c0b2 ldrh r12, [r6, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
994 ea0: e20c40bf and r4, r12, #191 ; 0xbf
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
995 ea4: e20cccff and r12, r12, #65280 ; 0xff00
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
996 ea8: e184c00c orr r12, r4, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
997 eac: e1c6c0b2 strh r12, [r6, #2]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
998 ; program nCS0: WS as given by R0, 1 dummy cycle, enable writes
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
999 eb0: e3a0cc02 mov r12, #512 ; 0x200
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1000 eb4: e200001f and r0, r0, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1001 eb8: e3800e2a orr r0, r0, #672 ; 0x2a0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1002 ebc: e10600bc strh r0, [r6, -r12]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1003 ; program nCS6 (int RAM): WS as given by R1, common sense values for the rest
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1004 ec0: e3a0cf7d mov r12, #500 ; 0x1f4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1005 ec4: e201001f and r0, r1, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1006 ec8: e38000c0 orr r0, r0, #192 ; 0xc0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1007 ecc: e10600bc strh r0, [r6, -r12]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1008 ; program nCS7 (int ROM): same as nCS6, but WS as given by R2
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1009 ed0: e3a0cf7e mov r12, #504 ; 0x1f8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1010 ed4: e202001f and r0, r2, #31 ; 0x1f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1011 ed8: e38000c0 orr r0, r0, #192 ; 0xc0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1012 edc: e10600bc strh r0, [r6, -r12]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1013 ; program FFFF:F900 with {FF,stack_arg,R3}
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1014 ee0: e3a0cb01 mov r12, #1024 ; 0x400
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1015 ee4: e1830205 orr r0, r3, r5, lsl #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1016 ee8: e3800cff orr r0, r0, #65280 ; 0xff00
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1017 eec: e10600bc strh r0, [r6, -r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1018 ef0: e8bd8070 ldmia sp!, {r4, r5, r6, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1019
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1020 ; The routine at 0xef4 gets called from main() after a '<' character
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1021 ; has been received and autoboot thereby interrupted in the
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1022 ; autoboot-enabled flash state.
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1023 ;
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1024 ; Called with:
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1025 ; R0 = the byte from 800524
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1026 ; R1 = 1 (value for the PLL_DIV field)
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1027 ; R2 = 2 (value for the PLL_MULT field)
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1028
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1029 ef4: e92d4070 stmdb sp!, {r4, r5, r6, lr}
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1030 ef8: e59fc3e4 ldr r12, =0xFFFFF900 ; via 0x12e4
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1031 efc: e1dc40b0 ldrh r4, [r12]
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1032 ; original value of FFFF:F900 saved in R4
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1033 ; now set it to FF22, just like the 0xe2c init routine did
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1034 f00: e59f33d0 ldr r3, =0xFFFFFD00 ; via 0x12d8
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1035 f04: e3a05b01 mov r5, #1024 ; 0x400
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1036 f08: e3a0c801 mov r12, #65536 ; 0x10000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1037 f0c: e24cc0de sub r12, r12, #222 ; 0xde
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1038 f10: e103c0b5 strh r12, [r3, -r5]
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1039 ; write 0x2002 to FFFF:9800, again just like 0xe2c did
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1040 f14: e59f63c0 ldr r6, =0xFFFF9800 ; via 0x12dc
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1041 f18: e59fc3c0 ldr r12, =0x2002 ; via 0x12e0
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1042 f1c: e1c6c0b0 strh r12, [r6]
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1043 ; the following 2 instructions would cause this code to hang
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1044 ; in a tight loop if the least significant bit of the above constant (0x2002)
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1045 ; were 1 - but it is 0...
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1046 f20: e1b05f8c movs r5, r12, lsl #31
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1047 f24: 1afffffd bne 0xf20
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1048 ; now write the same thing into FFFF:9800, but with the PLL_DIV and
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1049 ; PLL_MULT values from the function arguments ORed in
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1050 f28: e181c102 orr r12, r1, r2, lsl #2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1051 f2c: e1a0c28c mov r12, r12, lsl #5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1052 f30: e38cc002 orr r12, r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1053 f34: e38cca02 orr r12, r12, #8192 ; 0x2000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1054 f38: e1c6c0b0 strh r12, [r6]
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1055 ; now look if we are fed with 13 or 26 MHz
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1056 f3c: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1057 f40: 0a000009 beq 0xf6c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1058 f44: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1059 f48: 1a000006 bne 0xf68
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1060 ; 0 in R0, meaning 26 MHz in - set bit 6 in FFFF:FD02, selecting /2
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1061 f4c: e1d3c0b2 ldrh r12, [r3, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1062 f50: e38cc040 orr r12, r12, #64 ; 0x40
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1063 f54: e1c3c0b2 strh r12, [r3, #2]
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1064 ; write 10A1 into FFFF:FD00, setting ARM clock to DPLL_CLKOUT/2
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1065 f58: e3a0c0a1 mov r12, #161 ; 0xa1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1066 f5c: e28cca01 add r12, r12, #4096 ; 0x1000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1067 f60: e1c3c0b0 strh r12, [r3]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1068 f64: ea000008 b 0xf8c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1069 f68: eafffffe b 0xf68
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1070 ; 1 in R0, meaning 13 MHz in - clear bit 6 in FFFF:FD02, selecting /1
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1071 f6c: e1d3c0b2 ldrh r12, [r3, #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1072 f70: e20c00bf and r0, r12, #191 ; 0xbf
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1073 f74: e20cccff and r12, r12, #65280 ; 0xff00
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1074 f78: e180c00c orr r12, r0, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1075 f7c: e1c3c0b2 strh r12, [r3, #2]
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1076 ; write 1081 into FFFF:FD00, setting ARM clock to DPLL_CLKOUT/1
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1077 f80: e3a0c081 mov r12, #129 ; 0x81
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1078 f84: e28cca01 add r12, r12, #4096 ; 0x1000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1079 f88: e1c3c0b0 strh r12, [r3]
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1080 ; the two branches rejoin
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1081 ; set bit 4 in FFFF:9800 - enable PLL
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1082 f8c: e1d6c0b0 ldrh r12, [r6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1083 f90: e38cc010 orr r12, r12, #16 ; 0x10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1084 f94: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1085 f98: e1a0c82c mov r12, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1086 f9c: e1c6c0b0 strh r12, [r6]
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1087 ; the following 2 instructions would cause a dead hang if
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1088 ; bit 0 were already set in FFFF:9800, i.e., if the PLL were
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1089 ; already locked
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1090 fa0: e1b00f8c movs r0, r12, lsl #31
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1091 fa4: 1afffffd bne 0xfa0
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1092 ; restore saved value of FFFF:F900
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1093 fa8: e3a0cb01 mov r12, #1024 ; 0x400
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1094 fac: e10340bc strh r4, [r3, -r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1095 fb0: e8bd8070 ldmia sp!, {r4, r5, r6, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1096
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1097 ; Routine 0xfb4 gets called from main() where the boot code is giving
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1098 ; the UARTs a chance to interrupt the autoboot process before transferring
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1099 ; control to the nCS0 image.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1100 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1101 ; Arguments: both R0 and R1 point to byte variables acting as additional
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1102 ; function outputs.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1103 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1104 ; If a '<' character is received on either UART, the function returns
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1105 ; without further fuss. If nothing was received on either UART, it
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1106 ; also returns without further fuss. However, if the "wrong" byte value
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1107 ; was received on either UART, the function flips the VCLKOUT_DIV2 bit
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1108 ; in the FFFF:FD02 register - it is the boot code's way of figuring out
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1109 ; whether the input clock is 13 or 26 MHz.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1110 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1111 ; Return values:
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1112 ; In R0: 1 if '<' received, 0 otherwise
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1113 ; In *R0: UART ID if '<' received, FF otherwise
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1114 ; In *R1: final state of the 800534 byte variable
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1115 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1116 ; The latter variable records the state of the divide-by-2. On the first
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1117 ; try, the divide-by-2 is enabled, and the variable contains 0. When this
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1118 ; function disables the /2, the variable is set to 1. It keeps toggling
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1119 ; back and forth as wrong bytes come in.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1120
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1121 fb4: e3a0c0ff mov r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1122 fb8: e5c0c000 strb r12, [r0]
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1123 ; check the MODEM UART first
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1124 fbc: e59fc324 ldr r12, =0xFFFF5000 ; via 0x12e8
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1125 fc0: e5dc2805 ldrb r2, [r12, #2053]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1126 fc4: e1b02f82 movs r2, r2, lsl #31
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1127 fc8: 1a000001 bne 0xfd4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1128 fcc: e3a02000 mov r2, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1129 fd0: ea000003 b 0xfe4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1130 fd4: e5dc2800 ldrb r2, [r12, #2048]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1131 fd8: e352003c cmp r2, #60 ; 0x3c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1132 fdc: 0a000024 beq 0x1074
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1133 fe0: e3a02001 mov r2, #1 ; 0x1
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1134 ; Control gets here if no '<' was received on the MODEM UART.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1135 ; R2 contains 1 if some other byte value was received, or 0 if nothing.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1136 ; Now check the IrDA UART.
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1137 fe4: e5dc3005 ldrb r3, [r12, #5]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1138 fe8: e1b03f83 movs r3, r3, lsl #31
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1139 fec: 1a000002 bne 0xffc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1140 ff0: e3520001 cmp r2, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1141 ff4: 0a000003 beq 0x1008
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1142 ff8: ea000015 b 0x1054
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1143 ffc: e5dcc000 ldrb r12, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1144 1000: e35c003c cmp r12, #60 ; 0x3c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1145 1004: 0a000017 beq 0x1068
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1146 ; control gets here if the "wrong" byte value was received on either UART
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1147 1008: e59fc2dc ldr r12, =0x800534 ; via 0x12ec
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1148 100c: e5dc0000 ldrb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1149 1010: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1150 1014: 1a000008 bne 0x103c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1151 1018: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1152 101c: e5cc0000 strb r0, [r12]
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1153 1020: e59f02c8 ldr r0, =0xFFFFFD02 ; via 0x12f0
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1154 1024: e1d0c0b0 ldrh r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1155 1028: e20c20bf and r2, r12, #191 ; 0xbf
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1156 102c: e20cccff and r12, r12, #65280 ; 0xff00
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1157 1030: e182c00c orr r12, r2, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1158 1034: e1c0c0b0 strh r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1159 1038: ea000005 b 0x1054
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1160 103c: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1161 1040: e5cc0000 strb r0, [r12]
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1162 1044: e59fc2a4 ldr r12, =0xFFFFFD02 ; via 0x12f0
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1163 1048: e1dc00b0 ldrh r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1164 104c: e3800040 orr r0, r0, #64 ; 0x40
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1165 1050: e1cc00b0 strh r0, [r12]
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1166 1054: e59fc290 ldr r12, =0x800534 ; via 0x12ec
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1167 1058: e5dcc000 ldrb r12, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1168 105c: e5c1c000 strb r12, [r1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1169 1060: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1170 1064: e12fff1e bx lr
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1171 ; control gets here if a '<' character was received on the IrDA UART
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1172 1068: e3a0c001 mov r12, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1173 106c: e5c0c000 strb r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1174 1070: ea000001 b 0x107c
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1175 ; control gets here if a '<' character was received on the MODEM UART
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1176 1074: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1177 1078: e5c0c000 strb r12, [r0]
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1178 107c: e59fc268 ldr r12, =0x800534 ; via 0x12ec
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1179 1080: e5dcc000 ldrb r12, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1180 1084: e5c1c000 strb r12, [r1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1181 1088: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1182 108c: e12fff1e bx lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1183
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1184 ; 0x1090 - the main routine for the UART download mode. Called with R0=0
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1185 ; if there is no valid image in flash, or with R0=1 if a valid image is
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1186 ; present, but the autoboot was interrupted by '<' coming in on a UART.
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1187
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1188 1090: e92d4070 stmdb sp!, {r4, r5, r6, lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1189 1094: e24dd00c sub sp, sp, #12 ; 0xc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1190 1098: e1a05000 mov r5, r0
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1191 109c: e59f4250 ldr r4, =0x800518 ; via 0x12f4
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1192 10a0: e2846008 add r6, r4, #8 ; R6=0x800520
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1193 10a4: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1194 10a8: e5cdc008 strb r12, [sp, #8]
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1195 ; If the argument was 0, meaning that no valid image was found in the
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1196 ; flash and no wait for '<' was done, that logic is repeated here,
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1197 ; exactly as in main() when the flash does contain a bootable image.
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1198 10ac: e3550000 cmp r5, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1199 10b0: 1a000009 bne 0x10dc
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1200 10b4: e59f123c ldr r1, =0x800524 ; via 0x12f8
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1201 10b8: e1a00006 mov r0, r6
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1202 10bc: ebffffbc bl 0xfb4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1203 10c0: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1204 10c4: 1a000004 bne 0x10dc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1205 10c8: e5d4000c ldrb r0, [r4, #12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1206 10cc: e3a01001 mov r1, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1207 10d0: e3a02002 mov r2, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1208 10d4: ebffff86 bl 0xef4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1209 10d8: ea000001 b 0x10e4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1210 10dc: e3550001 cmp r5, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1211 10e0: 1afffff1 bne 0x10ac
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1212 ; no-image and interrupt-boot code paths merge here
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1213 10e4: e28d0008 add r0, sp, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1214 10e8: ebfffc76 bl 0x2c8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1215 10ec: e5ddc008 ldrb r12, [sp, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1216 10f0: e35c0000 cmp r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1217 10f4: 0a00000d beq 0x1130
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1218 10f8: e5dd0008 ldrb r0, [sp, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1219 10fc: ebfffdec bl 0x8b4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1220 1100: ea00000a b 0x1130
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1221 1104: e5d4000c ldrb r0, [r4, #12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1222 1108: e3a01001 mov r1, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1223 110c: e3a02002 mov r2, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1224 1110: ebffff77 bl 0xef4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1225 1114: e3a0c002 mov r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1226 1118: e5cdc000 strb r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1227 111c: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1228 1120: e3a01000 mov r1, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1229 1124: e3a02000 mov r2, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1230 1128: e3a03002 mov r3, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1231 112c: ebffff3e bl 0xe2c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1232 1130: e5d40008 ldrb r0, [r4, #8]
11
a51729642295 boot ROM re: got to the 0x1090 routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 8
diff changeset
1233 1134: e59fc1c0 ldr r12, =0x800104 ; via 0x12fc
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1234 1138: e59c1000 ldr r1, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1235 113c: e28d2009 add r2, sp, #9 ; 0x9
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1236 1140: eb0000b8 bl 0x1428
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1237 1144: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1238 1148: 1afffff8 bne 0x1130
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1239 114c: e5ddc009 ldrb r12, [sp, #9]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1240 1150: e35c003c cmp r12, #60 ; 0x3c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1241 1154: 1afffff5 bne 0x1130
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1242 1158: e28d0008 add r0, sp, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1243 115c: ebfffc59 bl 0x2c8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1244 1160: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1245 1164: 1affffe6 bne 0x1104
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1246 1168: e5ddc008 ldrb r12, [sp, #8]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1247 116c: e35c0000 cmp r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1248 1170: 1affffe0 bne 0x10f8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1249 1174: eaffffed b 0x1130
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1250
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1251 ; This function takes a few peeks at the external boot memory on nCS0.
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1252 ; It appears that the intent is to return 1 if a valid image is present
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1253 ; in the external flash, or 0 otherwise.
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1254 ;
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1255 ; The first check is the 32-bit word at 0x2000. If that word equals 0,
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1256 ; the function returns 1. Otherwise, that word is expected to equal 1:
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1257 ; if it doesn't, the function returns 0.
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1258 ;
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1259 ; If the word at 2000 is 00000001 (like it is on Closedmoko phones,
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1260 ; for example), the IRQ vector in the flash image (where the ARM core
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1261 ; would vector if the Calypso register were flipped to put nCS0 at 0x0)
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1262 ; is checked. If the vector location contains an unconditional branch
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1263 ; instruction (0xEAxxxxxx) and the 32-bit instruction word at the target
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1264 ; of that branch is something other than 0xFFFFFFFF, the function
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1265 ; returns 1; otherwise it returns 0.
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1266
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1267 1178: e3a0ca02 mov r12, #8192 ; 0x2000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1268 117c: e59cc000 ldr r12, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1269 1180: e35c0000 cmp r12, #0 ; 0x0
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1270 1184: 0a000011 beq 0x11d0 ; return 1
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1271 1188: e35c0001 cmp r12, #1 ; 0x1
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1272 118c: 1a00000d bne 0x11c8 ; return 0
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1273 1190: e3a0c018 mov r12, #24 ; 0x18
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1274 1194: e28cc403 add r12, r12, #50331648 ; 0x3000000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1275 1198: e59cc000 ldr r12, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1276 119c: e20c04ff and r0, r12, #-16777216 ; 0xff000000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1277 11a0: e3700416 cmn r0, #369098752 ; 0x16000000
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1278 11a4: 1a000007 bne 0x11c8 ; return 0
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1279 11a8: e3a00018 mov r0, #24 ; 0x18
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1280 11ac: e2800403 add r0, r0, #50331648 ; 0x3000000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1281 11b0: e28cc002 add r12, r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1282 11b4: e1a0c10c mov r12, r12, lsl #2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1283 11b8: e3ccc4ff bic r12, r12, #-16777216 ; 0xff000000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1284 11bc: e790c00c ldr r12, [r0, r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1285 11c0: e37c0001 cmn r12, #1 ; 0x1
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1286 11c4: 1a000001 bne 0x11d0 ; return 1
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1287 11c8: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1288 11cc: e1a0f00e mov pc, lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1289 11d0: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1290 11d4: e1a0f00e mov pc, lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1291
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1292 ; main() entry point
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1293 11d8: e92d4070 stmdb sp!, {r4, r5, r6, lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1294 11dc: e24dd008 sub sp, sp, #8 ; 0x8
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1295 ; 0xe2c basic memmap/clock init routine called with the following
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1296 ; values: WS=4 for nCS0, WS=0 for nCS6 and nCS7, FF22 into FFFF:F900
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1297 11e0: e3a0c002 mov r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1298 11e4: e5cdc000 strb r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1299 11e8: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1300 11ec: e3a01000 mov r1, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1301 11f0: e3a02000 mov r2, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1302 11f4: e3a03002 mov r3, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1303 11f8: ebffff0b bl 0xe2c
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1304 11fc: eb00004f bl 0x1340 ; init UARTs
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1305 ; write 0x1D4C0 into 800104 - even though it was already done by the
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1306 ; bulk RAM init routine at 0x1500
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1307 1200: e59f00f4 ldr r0, =0x800104 ; via 0x12fc
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1308 1204: e3a0c802 mov r12, #131072 ; 0x20000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1309 1208: e24ccdad sub r12, r12, #11072 ; 0x2b40
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1310 120c: e580c000 str r12, [r0]
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1311 ; set bit 6 in FFFF:FD02 (set VCLKOUT-FR to /2)
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1312 1210: e59f60d8 ldr r6, =0xFFFFFD02 ; via 0x12f0
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1313 1214: e1d6c0b0 ldrh r12, [r6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1314 1218: e38cc040 orr r12, r12, #64 ; 0x40
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1315 121c: e1c6c0b0 strh r12, [r6]
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1316 ; Check for a valid image in flash. If there doesn't seem to be one,
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1317 ; call the 0x1090 routine. The latter seems to never return, so it is
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1318 ; probably the endless wait for UART download function.
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1319 1220: ebffffd4 bl 0x1178 ; check for valid img in flash
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1320 1224: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1321 1228: 1a000001 bne 0x1234
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1322 122c: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1323 1230: ebffff96 bl 0x1090
5
9db4dcf94128 boot ROM re: making inroads into the flash image validity criteria
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 4
diff changeset
1324 ; A valid image is present.
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1325 ; set bit 6 in FFFF:FD02 again
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1326 1234: e1d6c0b0 ldrh r12, [r6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1327 1238: e38cc040 orr r12, r12, #64 ; 0x40
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1328 123c: e1c6c0b0 strh r12, [r6]
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1329 1240: e59f10b0 ldr r1, =0x800524 ; via 0x12f8
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1330 1244: e2415004 sub r5, r1, #4 ; 0x4
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1331 1248: e59f40b0 ldr r4, =0x373C ; via 0x1300
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1332 ; the retry count loaded into R4 is 14140 in decimal
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1333 124c: e1a00005 mov r0, r5
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1334 ; call made with R0=0x800520, R1=0x800524
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1335 1250: ebffff57 bl 0xfb4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1336 1254: e3500000 cmp r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1337 1258: 1a000001 bne 0x1264
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1338 125c: e2544001 subs r4, r4, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1339 1260: 1afffff9 bne 0x124c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1340 1264: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1341 1268: 0a00000c beq 0x12a0
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1342 ; clear bit 6 in FFFF:FD02
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1343 126c: e1d6c0b0 ldrh r12, [r6]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1344 1270: e20c00bf and r0, r12, #191 ; 0xbf
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1345 1274: e20cccff and r12, r12, #65280 ; 0xff00
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1346 1278: e180c00c orr r12, r0, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1347 127c: e1c6c0b0 strh r12, [r6]
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1348 ; transfer control to the flash image?
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1349 1280: e3a0ca02 mov r12, #8192 ; 0x2000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1350 1284: e59c0000 ldr r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1351 1288: e1b010a0 movs r1, r0, lsr #1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1352 128c: 1a000002 bne 0x129c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1353 1290: e59c1004 ldr r1, [r12, #4]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1354 1294: eb0000bc bl 0x158c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1355 1298: eafffffe b 0x1298
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1356 129c: eafffffe b 0x129c
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1357 ; interactive mode entry?
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1358 12a0: e59fc050 ldr r12, =0x800524 ; via 0x12f8
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1359 12a4: e5dc0000 ldrb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1360 12a8: e3a01001 mov r1, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1361 12ac: e3a02002 mov r2, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1362 12b0: ebffff0f bl 0xef4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1363 12b4: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1364 12b8: ebffff74 bl 0x1090
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1365 12bc: e28dd008 add sp, sp, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1366 12c0: e8bd8070 ldmia sp!, {r4, r5, r6, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1367
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1368 ; literal pool
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1369 12c4: fffffa08
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1370 12c8: 0000ffff
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1371 12cc: fffffa0a
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1372 12d0: fffff804
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1373 12d4: fffffb10
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1374 12d8: fffffd00
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1375 12dc: ffff9800
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1376 12e0: 00002002
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1377 12e4: fffff900
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1378 12e8: ffff5000
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1379 12ec: 00800534
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1380 12f0: fffffd02
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1381 12f4: 00800518
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1382 12f8: 00800524
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1383 12fc: 00800104
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1384 1300: 0000373c
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1385
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1386 ; Routine 0x1304: emit a character string through a UART
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1387 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1388 ; Arguments:
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1389 : R0: pointer to the string
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1390 ; R1: number of characters (bytes) to transmit
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1391 ; R2: UART ID (0=MODEM, 1=IrDA)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1392
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1393 1304: e3510000 cmp r1, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1394 1308: 012fff1e bxeq lr
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1395 130c: e59fc178 ldr r12, =0x1FCC ; via 0x148c
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1396 1310: e79cc102 ldr r12, [r12, r2, lsl #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1397 1314: e28c3005 add r3, r12, #5 ; 0x5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1398 1318: e5d32000 ldrb r2, [r3]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1399 131c: e3120020 tst r2, #32 ; 0x20
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1400 1320: 0afffffc beq 0x1318
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1401 1324: e4d02001 ldrb r2, [r0], #1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1402 1328: e5cc2000 strb r2, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1403 132c: e2411001 sub r1, r1, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1404 1330: e1a01801 mov r1, r1, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1405 1334: e1b01821 movs r1, r1, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1406 1338: 1afffff6 bne 0x1318
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1407 133c: e12fff1e bx lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1408
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1409 ; The following routine initializes both UARTs with a fixed set of
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1410 ; parameters (the same for both UARTs).
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1411
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1412 1340: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1413 ; UIR fiddling: connect the MODEM UART to the MCU
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1414 ; and restore normal operation (interrupts NOT masked at UIR level)
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1415 1344: e59fc144 ldr r12, =0xFFFF6000 ; via 0x1490
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1416 1348: e5dc0000 ldrb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1417 134c: e3800002 orr r0, r0, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1418 1350: e5cc0000 strb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1419 1354: e5dc0000 ldrb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1420 1358: e20000fe and r0, r0, #254 ; 0xfe
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1421 135c: e5cc0000 strb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1422 1360: e5dc0000 ldrb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1423 1364: e20000fd and r0, r0, #253 ; 0xfd
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1424 1368: e5cc0000 strb r0, [r12]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1425 ; actual UART register diddling: prepare the values for both UARTs
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1426 136c: e3a0b003 mov r11, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1427 1370: e3a05000 mov r5, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1428 1374: e3a0a02a mov r10, #42 ; 0x2a
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1429 1378: e3a09080 mov r9, #128 ; 0x80
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1430 137c: e3a070bf mov r7, #191 ; 0xbf
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1431 1380: e3a04007 mov r4, #7 ; 0x7
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1432 1384: e3a02002 mov r2, #2 ; 0x2
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1433 ; loop over the 2 UART base addresses
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1434 1388: e59f60fc ldr r6, =0x1FCC ; via 0x148c
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1435 138c: e496c004 ldr r12, [r6], #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1436 1390: e28c3008 add r3, r12, #8 ; 0x8
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1437 ; R3 points to register 8 (MDR1)
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1438 ; write 07 into it: reset mode
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1439 1394: e5c34000 strb r4, [r3]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1440 1398: e28c0003 add r0, r12, #3 ; 0x3
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1441 ; R0 points to register 3 (LCR)
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1442 ; write BF into it: map in the extended registers
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1443 139c: e5c07000 strb r7, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1444 13a0: e28c1002 add r1, r12, #2 ; 0x2
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1445 ; R1 points to register 2: EFR under current mapping
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1446 ; set bit 4: enable enhanced functions
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1447 13a4: e5d18000 ldrb r8, [r1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1448 13a8: e3888010 orr r8, r8, #16 ; 0x10
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1449 13ac: e5c18000 strb r8, [r1]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1450 ; write 80 into LCR: map in the baud rate divisor registers
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1451 13b0: e5c09000 strb r9, [r0]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1452 ; reg 2 (pointed to by R1) is now IIR/FCR
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1453 ; write 07 into FCR: FIFOs enabled and cleared, no DMA
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1454 13b4: e5c14000 strb r4, [r1]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1455 ; write BF into LCR again
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1456 13b8: e5c07000 strb r7, [r0]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1457 ; load baud rate divisor /42
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1458 13bc: e5cca000 strb r10, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1459 13c0: e5cc5001 strb r5, [r12, #1]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1460 ; write 03 into LCR: restore normal registers, 8N1
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1461 13c4: e5c0b000 strb r11, [r0]
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1462 ; write 00 into MDR1: plain UART mode
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1463 13c8: e5c35000 strb r5, [r3]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1464 13cc: e2522001 subs r2, r2, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1465 13d0: 1affffed bne 0x138c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1466 13d4: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1467
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1468 ; The following routine switches a UART to a different baud rate.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1469 ; Arguments:
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1470 ; R0: baud rate index from the table at 0x1FD4
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1471 ; R1: UART ID (0=MODEM, 1=IrDA)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1472
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1473 13d8: e59fc0ac ldr r12, =0x1FCC ; via 0x148c
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1474 13dc: e79c2101 ldr r2, [r12, r1, lsl #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1475 13e0: e282c005 add r12, r2, #5 ; 0x5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1476 13e4: e5dc1000 ldrb r1, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1477 13e8: e3110040 tst r1, #64 ; 0x40
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1478 13ec: 0afffffc beq 0x13e4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1479 13f0: e282c003 add r12, r2, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1480 13f4: e5dc1000 ldrb r1, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1481 13f8: e3811080 orr r1, r1, #128 ; 0x80
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1482 13fc: e5cc1000 strb r1, [r12]
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1483 1400: e59f108c ldr r1, =0x1FD4 ; via 0x1494
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1484 1404: e7d13080 ldrb r3, [r1, r0, lsl #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1485 1408: e5c23001 strb r3, [r2, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1486 140c: e0810080 add r0, r1, r0, lsl #1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1487 1410: e5d00001 ldrb r0, [r0, #1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1488 1414: e5c20000 strb r0, [r2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1489 1418: e5dc0000 ldrb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1490 141c: e200007f and r0, r0, #127 ; 0x7f
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1491 1420: e5cc0000 strb r0, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1492 1424: e12fff1e bx lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1493
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1494 ; 0x1428 - UART read Rx character routine
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1495 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1496 ; Arguments:
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1497 ; R0: UART ID (0=MODEM, 1=IrDA)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1498 ; R1: poll repeat count, 0 means wait forever
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1499 ; R2: pointer to buffer where the received booty is stored
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1500 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1501 ; Return value: 1 if a character was received, 0 otherwise
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1502
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1503 1428: e3510000 cmp r1, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1504 142c: 1a000006 bne 0x144c
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1505 1430: e59fc054 ldr r12, =0x1FCC ; via 0x148c
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1506 1434: e79cc100 ldr r12, [r12, r0, lsl #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1507 1438: e28c1005 add r1, r12, #5 ; 0x5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1508 143c: e5d10000 ldrb r0, [r1]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1509 1440: e1b00f80 movs r0, r0, lsl #31
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1510 1444: 0afffffc beq 0x143c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1511 1448: ea000009 b 0x1474
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1512 144c: e59fc038 ldr r12, =0x1FCC ; via 0x148c
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1513 1450: e79cc100 ldr r12, [r12, r0, lsl #2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1514 1454: e28c3005 add r3, r12, #5 ; 0x5
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1515 1458: e5d30000 ldrb r0, [r3]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1516 145c: e1b00f80 movs r0, r0, lsl #31
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1517 1460: 1a000001 bne 0x146c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1518 1464: e2511001 subs r1, r1, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1519 1468: 1afffffa bne 0x1458
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1520 146c: e3510000 cmp r1, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1521 1470: 0a000003 beq 0x1484
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1522 1474: e5dcc000 ldrb r12, [r12]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1523 1478: e5c2c000 strb r12, [r2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1524 147c: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1525 1480: e12fff1e bx lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1526 1484: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1527 1488: e12fff1e bx lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1528
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1529 ; literal pool
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1530 148c: 00001fcc
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1531 1490: ffff6000
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1532 1494: 00001fd4
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1533
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1534 ; The RESET entry point branches here
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1535 ;
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1536 ; First order of business: copy the 7 vector instructions from
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1537 ; 0x1FE0 to 0x80001C.
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1538 1498: e59f003c ldr r0, =0x1FE0 ; via 0x14dc
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1539 149c: e59f103c ldr r1, =0x80001C ; via 0x14e0
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1540 14a0: e3a02000 mov r2, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1541 14a4: e7903002 ldr r3, [r0, r2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1542 14a8: e7813002 str r3, [r1, r2]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1543 14ac: e2822004 add r2, r2, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1544 14b0: e352001c cmp r2, #28 ; 0x1c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1545 14b4: 1afffffa bne 0x14a4
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1546 ; done with that; now set up the stack
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1547 14b8: e59f0014 ldr r0, =0x8005C0 ; via 0x14d4
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1548 14bc: e59f1014 ldr r1, =0x190 ; via 0x14d8
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1549 14c0: e2411004 sub r1, r1, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1550 14c4: e0802001 add r2, r0, r1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1551 14c8: e3c22003 bic r2, r2, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1552 14cc: e1a0d002 mov sp, r2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1553 14d0: ea000003 b 0x14e4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1554
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1555 ; literals for the above code
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1556 14d4: 008005c0
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1557 14d8: 00000190
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1558 14dc: 00001fe0
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1559 14e0: 0080001c
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1560
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1561 ; continuation of the RESET entry code
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1562 14e4: e59f0078 ldr r0, =0x1694 ; via 0x1564
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1563 14e8: e3700001 cmn r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1564 14ec: 1b000003 blne 0x1500
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1565 14f0: ebffff38 bl 0x11d8 ; main()
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1566 ; only tight-loop halts from here on
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1567 14f4: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1568 14f8: eb000022 bl 0x1588
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1569 14fc: eafffffe b 0x14fc
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1570
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1571 ; 0x1500: Subroutine entry
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1572 ;
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1573 ; This routine initializes multiple RAM areas from a single ROM init data
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1574 ; table. Takes one argument in R0, which points to the ROM table.
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1575 ; The ROM table consists of one or more abutted variable-length records,
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1576 ; each of the following format:
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1577 ;
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1578 ; 1 word: number of bytes to copy (may or may not be word-aligned)
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1579 ; 1 word: copy destination address (ditto)
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1580 ; variable length: data to be copied
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1581 ; 0 to 3 bytes of padding to put the next record on a word boundary
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1582 ;
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1583 ; The list is terminated by a zero word.
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1584
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1585 1500: ea000011 b 0x154c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1586 1504: e4901004 ldr r1, [r0], #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1587 1508: e3110003 tst r1, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1588 150c: 1a000007 bne 0x1530
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1589 1510: e2522004 subs r2, r2, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1590 1514: 4a000003 bmi 0x1528
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1591 1518: e4903004 ldr r3, [r0], #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1592 151c: e4813004 str r3, [r1], #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1593 1520: e2522004 subs r2, r2, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1594 1524: 5afffffb bpl 0x1518
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1595 1528: e2922004 adds r2, r2, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1596 152c: 0a000003 beq 0x1540
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1597 1530: e4d03001 ldrb r3, [r0], #1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1598 1534: e4c13001 strb r3, [r1], #1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1599 1538: e2522001 subs r2, r2, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1600 153c: 1afffffb bne 0x1530
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1601 1540: e3100003 tst r0, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1602 1544: 13c00003 bicne r0, r0, #3 ; 0x3
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1603 1548: 12800004 addne r0, r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1604 154c: e4902004 ldr r2, [r0], #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1605 1550: e3520000 cmp r2, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1606 1554: 1affffea bne 0x1504
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1607 1558: e1a0f00e mov pc, lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1608
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1609 ; literal pool
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1610 155c: 008005c0 ; low address of the stack - unused duplicate?
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1611 1560: 00000190 ; size of the stack - ditto
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1612 1564: 00001694
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1613
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1614 ; The following looks like the TI compiler's IND_CALL library helper
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1615
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1616 1568: e3140001 tst r4, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1617 156c: 1a000000 bne 0x1574
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1618 1570: e12fff14 bx r4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1619 1574: e1a0c004 mov r12, r4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1620 1578: e1a0400e mov r4, lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1621 157c: e28fe001 add lr, pc, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1622 1580: e12fff1c bx r12
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1623 1584: 4720 bx r4
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1624 1586: 46c0 nop (mov r8, r8)
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1625
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1626 1588: eafffffe b 0x1588
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1627
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1628 ; This routine effects the transfer of control to the flash (nCS0)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1629 ; application image of the type indicated by the argument in R0.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1630 ; The latter argument is the word read from 0x2000.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1631 ; R1 contains the word read from 0x2004.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1632
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1633 158c: e92d4010 stmdb sp!, {r4, lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1634 1590: e1a04000 mov r4, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1635 1594: e1b0c0a4 movs r12, r4, lsr #1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1636 1598: 0a000001 beq 0x15a4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1637 159c: e3a00001 mov r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1638 15a0: e8bd8010 ldmia sp!, {r4, pc}
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1639 15a4: e59f0054 ldr r0, =0xFFFFFB10 ; via 0x1600
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1640 15a8: e1d0c0b0 ldrh r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1641 15ac: e20c20ff and r2, r12, #255 ; 0xff
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1642 15b0: e20ccb3f and r12, r12, #64512 ; 0xfc00
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1643 15b4: e182c00c orr r12, r2, r12
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1644 15b8: e1a0c80c mov r12, r12, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1645 15bc: e1a0c82c mov r12, r12, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1646 15c0: e3540000 cmp r4, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1647 15c4: 1a000004 bne 0x15dc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1648 15c8: e38ccc01 orr r12, r12, #256 ; 0x100
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1649 15cc: e1c0c0b0 strh r12, [r0]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1650 15d0: e1a04001 mov r4, r1
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1651 15d4: ebffffe3 bl 0x1568 ; IND_CALL
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1652 15d8: e8bd8010 ldmia sp!, {r4, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1653 15dc: e3540001 cmp r4, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1654 15e0: 18bd8010 ldmneia sp!, {r4, pc}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1655 15e4: e3a00020 mov r0, #32 ; 0x20
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1656 15e8: e3a010cc mov r1, #204 ; 0xcc
6
8c2621b2ed37 boot ROM re: further understanding of the external flash image booting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 5
diff changeset
1657 15ec: e59f2010 ldr r2, =0x800038 ; via 0x1604
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1658 15f0: eb000019 bl 0x165c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1659 15f4: e1a00004 mov r0, r4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1660 15f8: eb1ffa8e bl 0x800038
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1661 15fc: e8bd8010 ldmia sp!, {r4, pc}
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1662
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1663 ; literal pool
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1664 1600: fffffb10
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1665 1604: 00800038
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1666
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1667 ; This routine computes a simple word-wise (16 bits at a time) sum of
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1668 ; the present internal boot ROM code (ignoring carry-outs), and returns
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1669 ; it in R0. The upper 16 bits of the R0 return value will always be 0.
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1670 ;
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1671 ; If the argument in R0 equals 1, a call to the 0xe2c memmap/clock init
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1672 ; function is made first, with the same arguments as at the beginning
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1673 ; of main().
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1674
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1675 1608: e92d4000 stmdb sp!, {lr}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1676 160c: e24dd008 sub sp, sp, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1677 1610: e3500001 cmp r0, #1 ; 0x1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1678 1614: 1a000006 bne 0x1634
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1679 ; 0xe2c routine is called with the same arguments as at the beginning
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1680 ; of main()
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1681 1618: e3a0c002 mov r12, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1682 161c: e5cdc000 strb r12, [sp]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1683 1620: e3a00004 mov r0, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1684 1624: e3a01000 mov r1, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1685 1628: e3a02000 mov r2, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1686 162c: e3a03002 mov r3, #2 ; 0x2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1687 1630: ebfffdfd bl 0xe2c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1688 1634: e3a00000 mov r0, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1689 1638: e3a0c000 mov r12, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1690 163c: e0dc10b2 ldrh r1, [r12], #2
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1691 1640: e0810000 add r0, r1, r0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1692 1644: e1a00800 mov r0, r0, lsl #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1693 1648: e1a00820 mov r0, r0, lsr #16
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1694 164c: e35c0a02 cmp r12, #8192 ; 0x2000
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1695 1650: 3afffff9 bcc 0x163c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1696 1654: e28dd008 add sp, sp, #8 ; 0x8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1697 1658: e8bd8000 ldmia sp!, {pc}
3
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1698
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1699 ; The following is a bcopy/memcpy-like routine, but with arguments
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1700 ; in the wrong order (matching neither bcopy nor memcpy):
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1701 ;
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1702 ; R0: source address
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1703 ; R1: # of bytes to copy
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1704 ; R2: dest address
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1705 ;
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1706 ; The addresses must be word-aligned, the length must be a multiple of 4.
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1707 ; Zero length is OK (no-op).
e3f8fe6a848e boot ROM re: started on main() and the 0xe2c routine
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
1708
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1709 165c: e3510000 cmp r1, #0 ; 0x0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1710 1660: 012fff1e bxeq lr
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1711 1664: e490c004 ldr r12, [r0], #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1712 1668: e482c004 str r12, [r2], #4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1713 166c: e2511004 subs r1, r1, #4 ; 0x4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1714 1670: 1afffffb bne 0x1664
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1715 1674: e12fff1e bx lr
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1716
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1717 ; The soft-vector pointers at 0x800000 are initially set to point
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1718 ; to the ROM addresses of the following 7 tight-loop branch instructions:
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1719 1678: eafffffe b 0x1678
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1720 167c: eafffffe b 0x167c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1721 1680: eafffffe b 0x1680
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1722 1684: eafffffe b 0x1684
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1723 1688: eafffffe b 0x1688
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1724 168c: eafffffe b 0x168c
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1725 1690: eafffffe b 0x1690
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1726
2
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1727 ; RAM init table for the 0x1500 subroutine
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1728 ; vector init
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1729 1694: 0000001c
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1730 1698: 00800000
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1731 169c: 00001678
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1732 16a0: 0000167c
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1733 16a4: 00001680
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1734 16a8: 00001684
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1735 16ac: 00001688
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1736 16b0: 0000168c
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1737 16b4: 00001690
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1738 ; another record
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1739 16b8: 00000004
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1740 16bc: 00800104
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1741 16c0: 0001d4c0
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1742 ; another record
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1743 16c4: 00000001
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1744 16c8: 00800108
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1745 16cc: 00000001
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1746 ; another record
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1747 16d0: 00000001
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1748 16d4: 00800534
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1749 16d8: 00000000
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1750 ; end marker
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1751 16dc: 00000000
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1752
979d97fe75eb boot ROM rev eng: progressing on the RESET code
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 1
diff changeset
1753 ; The word at 0x16DC appears to be the last word of the actual boot
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1754 ; code + data. Between here and 0x1FCC we've got what looks like
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1755 ; filler:
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1756
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1757 000016C0: C0 D4 01 00 01 00 00 00 08 01 80 00 01 00 00 00 ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1758 000016D0: 01 00 00 00 34 05 80 00 00 00 00 00 00 00 00 00 ....4...........
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1759 000016E0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1760 000016F0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1761 00001700: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1762 00001710: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1763 00001720: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1764 00001730: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1765 00001740: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1766 00001750: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1767 00001760: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1768 00001770: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1769 00001780: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1770 00001790: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1771 000017A0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1772 000017B0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1773 000017C0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 FF FE FD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1774 000017D0: FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 EF EE ED ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1775 000017E0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1776 000017F0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1777 00001800: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1778 00001810: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1779 00001820: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1780 00001830: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1781 00001840: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1782 00001850: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1783 00001860: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1784 00001870: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1785 00001880: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1786 00001890: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1787 000018A0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1788 000018B0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1789 000018C0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 FF FE FD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1790 000018D0: FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 EF EE ED ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1791 000018E0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1792 000018F0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1793 00001900: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1794 00001910: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1795 00001920: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1796 00001930: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1797 00001940: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1798 00001950: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1799 00001960: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1800 00001970: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1801 00001980: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1802 00001990: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1803 000019A0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1804 000019B0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1805 000019C0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 FF FE FD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1806 000019D0: FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 EF EE ED ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1807 000019E0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1808 000019F0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1809 00001A00: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1810 00001A10: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1811 00001A20: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1812 00001A30: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1813 00001A40: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1814 00001A50: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1815 00001A60: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1816 00001A70: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1817 00001A80: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1818 00001A90: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1819 00001AA0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1820 00001AB0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1821 00001AC0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 FF FE FD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1822 00001AD0: FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 EF EE ED ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1823 00001AE0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1824 00001AF0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1825 00001B00: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1826 00001B10: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1827 00001B20: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1828 00001B30: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1829 00001B40: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1830 00001B50: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1831 00001B60: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1832 00001B70: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1833 00001B80: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1834 00001B90: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1835 00001BA0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1836 00001BB0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1837 00001BC0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 FF FE FD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1838 00001BD0: FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 EF EE ED ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1839 00001BE0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1840 00001BF0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1841 00001C00: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1842 00001C10: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1843 00001C20: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1844 00001C30: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1845 00001C40: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1846 00001C50: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1847 00001C60: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1848 00001C70: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1849 00001C80: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1850 00001C90: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1851 00001CA0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1852 00001CB0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1853 00001CC0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 FF FE FD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1854 00001CD0: FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 EF EE ED ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1855 00001CE0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1856 00001CF0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1857 00001D00: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1858 00001D10: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1859 00001D20: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1860 00001D30: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1861 00001D40: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1862 00001D50: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1863 00001D60: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1864 00001D70: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1865 00001D80: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1866 00001D90: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1867 00001DA0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1868 00001DB0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1869 00001DC0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 FF FE FD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1870 00001DD0: FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 EF EE ED ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1871 00001DE0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1872 00001DF0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1873 00001E00: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1874 00001E10: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1875 00001E20: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1876 00001E30: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1877 00001E40: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1878 00001E50: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1879 00001E60: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1880 00001E70: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1881 00001E80: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1882 00001E90: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1883 00001EA0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1884 00001EB0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1885 00001EC0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 FF FE FD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1886 00001ED0: FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 EF EE ED ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1887 00001EE0: EC EB EA E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 DF DE DD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1888 00001EF0: DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CF CE CD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1889 00001F00: CC CB CA C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 BF BE BD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1890 00001F10: BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF AE AD ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1891 00001F20: AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1892 00001F30: 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 8F 8E 8D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1893 00001F40: 8C 8B 8A 89 88 87 86 85 84 83 82 81 80 7F 7E 7D ..............~}
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1894 00001F50: 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D |{zyxwvutsrqponm
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1895 00001F60: 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D lkjihgfedcba`_^]
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1896 00001F70: 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D \[ZYXWVUTSRQPONM
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1897 00001F80: 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D LKJIHGFEDCBA@?>=
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1898 00001F90: 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D <;:9876543210/.-
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1899 00001FA0: 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D ,+*)('&%$#"! ...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1900 00001FB0: 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D ................
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1901 00001FC0: 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 58 FF FF .............X..
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1902 00001FD0: 00 50 FF FF 00 07 00 0E 00 15 00 1C 00 2A 00 00 .P...........*..
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1903 00001FE0: 24 F0 1F E5 24 F0 1F E5 24 F0 1F E5 24 F0 1F E5 $...$...$...$...
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1904 00001FF0: 24 F0 1F E5 24 F0 1F E5 24 F0 1F E5 00 00 00 03 $...$...$.......
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1905
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1906 ; The filler ends at 0x1FCC. Then we've got some data words:
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1907
4
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1908 ; base addresses of the two UARTs
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1909 1fcc: ffff5800
a821df9c4457 boot ROM re: got as far as UART init
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 3
diff changeset
1910 1fd0: ffff5000
8
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1911 ; UART baud rates
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1912 1fd4: 0700 ; /7 (115200?)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1913 1fd6: 0e00 ; /14 (57600?)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1914 1fd8: 1500 ; /21 (38400?)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1915 1fda: 1c00 ; /28 (28800?)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1916 1fdc: 2a00 ; /42 (19200?)
a06573cacb6e boot ROM re: trying to understand the code that runs after '<' received
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 6
diff changeset
1917 1fde: 0000
1
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1918
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1919 ; These ldr-jump instructions get copied to the 7 internal RAM words
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1920 ; starting at 0x80001C. They have the effect of defining the preceding
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1921 ; 7 words (0x800000-0x800018 inclusive) as address-type vectors for the
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1922 ; exceptions, such that one can hook an exception either by replacing
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1923 ; the ldr-jump instruction in the 0x80001C-0x800034 window with a branch
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1924 ; to the desired handler, or by sticking the absolute address of that
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1925 ; desired handler into the 0x800000-0x800018 window.
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1926
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1927 1fe0: e51ff024 ldr pc, [pc, #-36] ; 0x1fc4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1928 1fe4: e51ff024 ldr pc, [pc, #-36] ; 0x1fc8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1929 1fe8: e51ff024 ldr pc, [pc, #-36] ; 0x1fcc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1930 1fec: e51ff024 ldr pc, [pc, #-36] ; 0x1fd0
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1931 1ff0: e51ff024 ldr pc, [pc, #-36] ; 0x1fd4
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1932 1ff4: e51ff024 ldr pc, [pc, #-36] ; 0x1fd8
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1933 1ff8: e51ff024 ldr pc, [pc, #-36] ; 0x1fdc
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1934 ; ???
4b5e22875181 beginning of boot ROM reverse eng
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1935 1ffc: 03000000 tsteq r0, #0 ; 0x0