[linux-cirrus] Re: EP9312 internal ROM

  • From: llandre <r&d2@xxxxxxxxxxxx>
  • To: from_free_linux2p6cirrus@xxxxxxxxxxx (David Collier)
  • Date: Tue, 03 May 2005 12:38:38 +0200

Here is what Ray kindly sent me last august.
HTH,


llandre

DAVE Electronics System House - R&D Department
web:   http://www.dave-tech.it
email: r&d2@xxxxxxxxxxxx




----------------------------------------------------------------------
hi

here's a copy of the bootrom that klaus disassembled.

cheers

-- 
----------------------------------------------------------------------
      Ray L   <rayl@xxxxxxxx>
Return-Path: <K.Fetscher@xxxxxxxxxxx>
X-Original-To: rayl@localhost
Delivered-To: rayl@xxxxxxxxxxxxxxxxxxxxx
Received: from localhost (localhost [127.0.0.1])
         by NIS-992376365.nucleus.com (Postfix) with ESMTP id 571267EC1F1
         for <rayl@localhost>; Tue, 10 Aug 2004 11:57:06 -0600 (MDT)
Received: from mail.nucleus.com [207.34.93.23]
         by localhost with POP3 (fetchmail-6.2.1)
         for rayl@localhost (single-drop); Tue, 10 Aug 2004 11:57:06 -0600 
(MDT)
Received: from spf6.us4.outblaze.com (unverified [205.158.62.33]) by 
mail.nucleus.com
  (Vircom SMTPRS 3.1.302.0) with ESMTP id <B0228663727@xxxxxxxxxxxxxxxx> 
for <rayl@xxxxxxxxxxx>;
  Tue, 10 Aug 2004 11:53:13 -0600
Received: from mailout05.sul.t-online.com (mailout05.sul.t-online.com 
[194.25.134.82])
         by spf6.us4.outblaze.com (Postfix) with ESMTP id F0A765475A
         for <rayl@xxxxxxxx>; Tue, 10 Aug 2004 17:01:32 +0000 (GMT)
Received: from fwd09.aul.t-online.de
         by mailout05.sul.t-online.com with smtp
         id 1BuZwi-0006MS-02; Tue, 10 Aug 2004 18:57:56 +0200
Received: from fetron.de 
(bR-7VZZYYe8mBH2hjnS4jGyhqTJrU2uJWqSryHkGxxayOiJhW89O6H@[217.93.190.226]) 
by fwd09.sul.t-online.com
         with esmtp id 1BuZwU-1JdbEm0; Tue, 10 Aug 2004 18:57:42 +0200
Message-ID: <4118FE83.7000205@xxxxxxxxx>
Date: Tue, 10 Aug 2004 18:57:39 +0200
From: K.Fetscher@xxxxxxxxxxx (Klaus Fetscher)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.6) 
Gecko/20040113
X-Accept-Language: de, de-at, en-us, en
MIME-Version: 1.0
To: Ray Lehtiniemi <rayl@xxxxxxxx>
Cc: Michael Burian <m.burian@xxxxxxxxxxxxxxxxx>,
         Manfred Gruber <manfred.gruber@xxxxxxxxx>
Subject: Re: EP9312 Bootrom
References: <4118ED53.6080301@xxxxxxxxx> <20040810161156.GB26981@xxxxxxxx>
In-Reply-To: <20040810161156.GB26981@xxxxxxxx>
Content-Type: multipart/mixed;
  boundary="------------020703020000060607020004"
X-ID: bR-7VZZYYe8mBH2hjnS4jGyhqTJrU2uJWqSryHkGxxayOiJhW89O6H

Ray Lehtiniemi schrieb:

>>Now we will switch from internal boot to external boot.
>>
>
>could you send me a copy of the 9312 bootrom so i can compare it
>to the 9301 bootrom?  i'd be curious to know if there are differences.
>
>
Please find attached bootcode. I have deleted some parts from the 
disassembler with constants and from the memory dump I have deleted the 
names of the members from the Nexus Team (to get less paper). Unfortunately 
I have made my comments on the printed paper.

Klaus


0x80090000:     mov     r3, #-2147483648        ; 0x80000000
0x80090004:     mov     r4, #589824     ; 0x90000
0x80090008:     orr     r3, r3, r4
0x8009000c:     orr     r3, r3, #24     ; 0x18
0x80090010:     nop                     (mov r0,r0)
0x80090014:     mov     pc, r3
0x80090018:     nop                     (mov r0,r0)
0x8009001c:     ldr     r0, [pc, #176]  ; 0x800900d4
0x80090020:     mov     r1, #2  ; 0x2
0x80090024:     str     r1, [r0]
0x80090028:     ldr     r0, [pc, #152]  ; 0x800900c8
0x8009002c:     ldr     r1, [pc, #152]  ; 0x800900cc
0x80090030:     str     r1, [r0]
0x80090034:     bl      0x80090984
0x80090038:     nop                     (mov r0,r0)
0x8009003c:     bl      0x800909dc
0x80090040:     bl      0x80090828
0x80090044:     mov     r2, #0  ; 0x0
0x80090048:     mov     r0, #-2147483648        ; 0x80000000
0x8009004c:     mov     r1, #9633792    ; 0x930000
0x80090050:     orr     r0, r0, r1
0x80090054:     str     r2, [r0, #88]
0x80090058:     ldr     r0, [pc, #116]  ; 0x800900d4
0x8009005c:     mov     r1, #1  ; 0x1
0x80090060:     str     r1, [r0]
0x80090064:     ldr     r0, [pc, #100]  ; 0x800900d0
0x80090068:     ldr     r1, [r0]
0x8009006c:     tst     r1, #256        ; 0x100
0x80090070:     bne     0x80090214
0x80090074:     bl      0x80090a4c
0x80090078:     bl      0x800900e8
0x8009007c:     bl      0x80090168
0x80090080:     nop                     (mov r0,r0)
0x80090084:     ldr     r0, [pc, #72]   ; 0x800900d4
0x80090000:     mov     r3, #-2147483648        ; 0x80000000
0x80090004:     mov     r4, #589824     ; 0x90000
0x80090008:     orr     r3, r3, r4
0x8009000c:     orr     r3, r3, #24     ; 0x18
0x80090010:     nop                     (mov r0,r0)
0x80090014:     mov     pc, r3
0x80090018:     nop                     (mov r0,r0)
0x8009001c:     ldr     r0, [pc, #176]  ; 0x800900d4
0x80090020:     mov     r1, #2  ; 0x2
0x80090024:     str     r1, [r0]
0x80090028:     ldr     r0, [pc, #152]  ; 0x800900c8
0x8009002c:     ldr     r1, [pc, #152]  ; 0x800900cc
0x80090030:     str     r1, [r0]
0x80090034:     bl      0x80090984
0x80090038:     nop                     (mov r0,r0)
0x8009003c:     bl      0x800909dc
0x80090040:     bl      0x80090828
0x80090044:     mov     r2, #0  ; 0x0
0x80090048:     mov     r0, #-2147483648        ; 0x80000000
0x8009004c:     mov     r1, #9633792    ; 0x930000
0x80090050:     orr     r0, r0, r1
0x80090054:     str     r2, [r0, #88]
0x80090058:     ldr     r0, [pc, #116]  ; 0x800900d4
0x8009005c:     mov     r1, #1  ; 0x1
0x80090060:     str     r1, [r0]
0x80090064:     ldr     r0, [pc, #100]  ; 0x800900d0
0x80090068:     ldr     r1, [r0]
0x8009006c:     tst     r1, #256        ; 0x100
0x80090070:     bne     0x80090214
0x80090074:     bl      0x80090a4c
0x80090078:     bl      0x800900e8
0x8009007c:     bl      0x80090168
0x80090080:     nop                     (mov r0,r0)
0x80090084:     ldr     r0, [pc, #72]   ; 0x800900d4
0x80090088:     mov     r1, #2  ; 0x2
0x8009008c:     str     r1, [r0]
0x80090090:     mov     r3, #8192       ; 0x2000
0x80090094:     nop                     (mov r0,r0)
0x80090098:     nop                     (mov r0,r0)
0x8009009c:     nop                     (mov r0,r0)
0x800900a0:     nop                     (mov r0,r0)
0x800900a4:     nop                     (mov r0,r0)
0x800900a8:     ldr     r0, [pc, #36]   ; 0x800900d4
0x800900ac:     ldr     r1, [r0]
0x800900b0:     eor     r1, r1, #2      ; 0x2
0x800900b4:     str     r1, [r0]
0x800900b8:     subs    r3, r3, #1      ; 0x1
0x800900bc:     bne     0x800900b8
0x800900c0:     b       0x80090090
0x800900c4:     andhi   r4, r1, r0
0x800900c8:     addhis  r0, r4, r0
0x800900cc:     andeq   r10, r0, r5, asr r10
0x800900d0:     umullhis        r0, r3, r12, r0
0x800900d4:     addhi   r0, r4, r0, lsr #32
0x800900d8:     addhi   r0, r4, r0
0x800900dc:     andeq   r5, r0, r0, asr #27
0x800900e0:     andeq   r2, r0, r0, ror #29
0x800900e4:     andeq   r1, r0, r0, ror r7
0x800900e8:     ldr     r0, [pc, #88]   ; 0x80090148
0x800900ec:     ldr     r1, [pc, #2956] ; 0x80090c80
0x800900f0:     ldr     r2, [pc, #2956] ; 0x80090c84
0x800900f4:     ldr     r3, [pc, #72]   ; 0x80090144
0x800900f8:     ldr     r4, [r3], #4
0x800900fc:     ldr     r5, [r4]
0x80090100:     cmp     r1, r5
0x80090104:     beq     0x80090134
0x80090108:     cmp     r2, r5
0x8009010c:     beq     0x80090138
0x80090110:     add     r4, r4, #4096   ; 0x1000
0x80090114:     ldr     r5, [r4]
0x80090118:     cmp     r1, r5
0x8009011c:     beq     0x8009013c
0x80090120:     cmp     r2, r5
0x80090124:     beq     0x80090140
0x80090128:     subs    r0, r0, #1      ; 0x1
0x8009012c:     bne     0x800900f8
0x80090130:     mov     pc, lr
0x80090134:     add     pc, r4, #4      ; 0x4
0x80090138:     add     pc, r4, #4      ; 0x4
0x8009013c:     sub     pc, r4, #4096   ; 0x1000
0x80090140:     sub     pc, r4, #4096   ; 0x1000
0x80090144:     andhi   r0, r9, r12, asr #2
0x80090148:     andeq   r0, r0, r7
0x8009014c:     andne   r0, r0, r0
0x80090150:     andcs   r0, r0, r0
0x80090154:     andcc   r0, r0, r0
0x80090158:     andvs   r0, r0, r0
0x8009015c:     andvc   r0, r0, r0
0x80090160:     andgt   r0, r0, r0
0x80090164:     andnv   r0, r0, r0
0x80090168:     ldr     r0, [pc, #80]   ; 0x800901c0
0x8009016c:     ldr     r3, [pc, #68]   ; 0x800901b8
0x80090170:     ldr     r5, [pc, #64]   ; 0x800901b8
0x80090174:     str     r0, [r3]
0x80090178:     ldr     r2, [r3]
0x8009017c:     cmp     r0, r2
0x80090180:     beq     0x8009018c
0x80090184:     ldr     r3, [pc, #48]   ; 0x800901bc
0x80090188:     ldr     r5, [pc, #44]   ; 0x800901bc
0x8009018c:     ldr     r0, [pc, #28]   ; 0x800901b0
0x80090190:     ldr     r1, [pc, #28]   ; 0x800901b4
0x80090194:     sub     r2, r1, r0
0x80090198:     mov     r2, r2, lsr #2
0x8009019c:     ldr     r4, [r0], #4
0x800901a0:     str     r4, [r3], #4
0x800901a4:     subs    r2, r2, #1      ; 0x1
0x800901a8:     bne     0x8009019c
0x800901ac:     mov     pc, r5
0x800901b0:     andhi   r0, r9, r4, asr #3
0x800901b4:     andhi   r0, r9, r0, lsl r2
0x800901b8:     andeq   r0, r0, r0
0x800901bc:     andhi   r4, r1, r0
0x800901c0:     bne     0x80b5f2fc
0x800901c4:     b       0x800901e8
0x800901c8:     b       0x800901e8
0x800901cc:     b       0x800901cc
0x800901d0:     b       0x800901d0
0x800901d4:     b       0x800901d4
0x800901d8:     b       0x800901d8
0x800901dc:     b       0x800901dc
0x800901e0:     b       0x800901e0
0x800901e4:     nop                     (mov r0,r0)
0x800901e8:     mov     r0, #-2147483648        ; 0x80000000
0x800901ec:     mov     r1, #8650752    ; 0x840000
0x800901f0:     orr     r0, r0, r1
0x800901f4:     mov     r1, #1  ; 0x1
0x800901f8:     mov     r2, #65536      ; 0x10000
0x800901fc:     str     r1, [r0, #32]
0x80090200:     subs    r2, r2, #1      ; 0x1
0x80090204:     bne     0x80090200
0x80090208:     eor     r1, r1, #1      ; 0x1
0x8009020c:     b       0x800901f8
0x80090210:     andeq   r0, r0, r0
0x80090214:     ldr     r12, [pc, #352] ; 0x8009037c
0x80090218:     mov     r1, #0  ; 0x0
0x8009021c:     str     r1, [r12, #4]
0x80090220:     str     r1, [r12, #12]
0x80090224:     mov     r1, #46 ; 0x2e
0x80090228:     str     r1, [r12, #16]
0x8009022c:     mov     r1, #96 ; 0x60
0x80090230:     str     r1, [r12, #8]
0x80090234:     mov     r1, #3  ; 0x3
0x80090238:     str     r1, [r12, #256]
0x8009023c:     mov     r1, #1  ; 0x1
0x80090240:     str     r1, [r12, #20]
0x80090244:     mov     r0, #60 ; 0x3c
0x80090248:     strb    r0, [r12]
0x8009024c:     mov     r3, #2048       ; 0x800
0x80090250:     ldr     r2, [pc, #-404] ; 0x800900c4
0x80090254:     ldr     r11, [pc, #-392]        ; 0x800900d4
0x80090258:     mov     r10, #1 ; 0x1
0x8009025c:     str     r10, [r11]
0x80090260:     mov     r5, #0  ; 0x0
0x80090264:     mov     r4, #0  ; 0x0
0x80090268:     mov     r9, #8  ; 0x8
0x8009026c:     ldr     r1, [r12, #24]
0x80090270:     tst     r1, #16 ; 0x10
0x80090274:     bne     0x8009026c
0x80090278:     ldrb    r0, [r12]
0x8009027c:     and     r6, r5, #3      ; 0x3
0x80090280:     mul     r7, r6, r9
0x80090284:     mov     r8, r0, lsl r7
0x80090288:     orr     r4, r4, r8
0x8009028c:     add     r5, r5, #1      ; 0x1
0x80090290:     ldr     r1, [r12, #24]
0x80090294:     tst     r1, #16 ; 0x10
0x80090298:     bne     0x80090290
0x8009029c:     ldrb    r0, [r12]
0x800902a0:     and     r6, r5, #3      ; 0x3
0x800902a4:     mul     r7, r6, r9
0x800902a8:     mov     r8, r0, lsl r7
0x800902ac:     orr     r4, r4, r8
0x800902b0:     cmp     r6, #3  ; 0x3
0x800902b4:     add     r5, r5, #1      ; 0x1
0x800902b8:     bne     0x80090290
0x800902bc:     str     r4, [r2], #4
0x800902c0:     ldr     r10, [r11]
0x800902c4:     eor     r10, r10, #1    ; 0x1
0x800902c8:     str     r10, [r11]
0x800902cc:     cmp     r3, #2048       ; 0x800
0x800902d0:     beq     0x800902ec
0x800902d4:     mov     r4, #0  ; 0x0
0x800902d8:     subs    r3, r3, #4      ; 0x4
0x800902dc:     bne     0x80090290
0x800902e0:     mov     r0, #62 ; 0x3e
0x800902e4:     strb    r0, [r12]
0x800902e8:     ldr     pc, [pc, #-556] ; 0x800900c4
0x800902ec:     ldr     r0, [pc, #140]  ; 0x80090380
0x800902f0:     cmp     r0, r4
0x800902f4:     beq     0x80090308
0x800902f8:     ldr     r0, [pc, #132]  ; 0x80090384
0x800902fc:     cmp     r0, r4
0x80090300:     beq     0x8009032c
0x80090304:     b       0x800902d4
0x80090308:     mov     r0, #0  ; 0x0
0x8009030c:     ldr     r1, [r12, #24]
0x80090310:     tst     r1, #128        ; 0x80
0x80090314:     beq     0x8009030c
0x80090318:     strb    r0, [r12]
0x8009031c:     add     r0, r0, #1      ; 0x1
0x80090320:     cmp     r0, #256        ; 0x100
0x80090324:     beq     0x80090308
0x80090328:     b       0x8009030c
0x8009032c:     ldr     r3, [pc, #52]   ; 0x80090368
0x80090330:     ldr     r4, [pc, #52]   ; 0x8009036c
0x80090334:     sub     r4, r4, r3
0x80090338:     ldr     r1, [r12, #24]
0x8009033c:     tst     r1, #128        ; 0x80
0x80090340:     beq     0x80090338
0x80090344:     ldrb    r5, [r3], #1
0x80090348:     strb    r5, [r12]
0x8009034c:     subs    r4, r4, #1      ; 0x1
0x80090350:     bne     0x80090338
0x80090354:     mov     r4, #65536      ; 0x10000
0x80090358:     subs    r4, r4, #1      ; 0x1
0x8009035c:     bne     0x80090358
0x80090360:     b       0x8009032c
0x80090364:     b       0x80090364



0x80090820:     beq     0x8089bca8
0x80090824:     andeq   r0, sp, sp, lsl #20
0x80090828:     ldr     r1, [pc, #232]  ; 0x80090918
0x8009082c:     subs    r1, r1, #1      ; 0x1
0x80090830:     bne     0x8009082c
0x80090834:     ldr     r0, [pc, #-1900]        ; 0x800900d0
0x80090838:     ldr     r1, [r0]
0x8009083c:     and     r2, r1, #192    ; 0xc0
0x80090840:     cmp     r2, #192        ; 0xc0
0x80090844:     beq     0x80090860
0x80090848:     cmp     r2, #128        ; 0x80
0x8009084c:     beq     0x80090860
0x80090850:     ldr     r5, [pc, #256]  ; 0x80090958
0x80090854:     ldr     r8, [pc, #228]  ; 0x80090940
0x80090858:     str     r5, [r8]
0x8009085c:     b       0x8009086c
0x80090860:     ldr     r5, [pc, #244]  ; 0x8009095c
0x80090864:     ldr     r8, [pc, #212]  ; 0x80090940
0x80090868:     str     r5, [r8]
0x8009086c:     ldr     r5, [pc, #220]  ; 0x80090950
0x80090870:     ldr     r8, [pc, #212]  ; 0x8009094c
0x80090874:     str     r5, [r8]
0x80090878:     ldr     r1, [pc, #152]  ; 0x80090918
0x8009087c:     subs    r1, r1, #1      ; 0x1
0x80090880:     bne     0x8009087c
0x80090884:     ldr     r8, [pc, #148]  ; 0x80090920
0x80090888:     ldr     r5, [pc, #160]  ; 0x80090930
0x8009088c:     str     r5, [r8]
0x80090890:     ldr     r1, [pc, #132]  ; 0x8009091c
0x80090894:     subs    r1, r1, #1      ; 0x1
0x80090898:     bne     0x80090894
0x8009089c:     ldr     r8, [pc, #124]  ; 0x80090920
0x800908a0:     ldr     r5, [pc, #128]  ; 0x80090928
0x800908a4:     str     r5, [r8]
0x800908a8:     ldr     r8, [pc, #132]  ; 0x80090934
0x800908ac:     mov     r5, #10 ; 0xa
0x800908b0:     str     r5, [r8]
0x800908b4:     ldr     r1, [pc, #92]   ; 0x80090918
0x800908b8:     subs    r1, r1, #1      ; 0x1
0x800908bc:     bne     0x800908b8
0x800908c0:     ldr     r8, [pc, #108]  ; 0x80090934
0x800908c4:     ldr     r5, [pc, #108]  ; 0x80090938
0x800908c8:     str     r5, [r8]
0x800908cc:     cmp     r2, #192        ; 0xc0
0x800908d0:     beq     0x800908e4
0x800908d4:     cmp     r2, #128        ; 0x80
0x800908d8:     beq     0x800908e4
0x800908dc:     ldr     r6, [pc, #140]  ; 0x80090970
0x800908e0:     b       0x800908e8
0x800908e4:     ldr     r6, [pc, #136]  ; 0x80090974
0x800908e8:     ldr     r7, [pc, #144]  ; 0x80090980
0x800908ec:     ldr     r8, [pc, #44]   ; 0x80090920
0x800908f0:     ldr     r5, [pc, #52]   ; 0x8009092c
0x800908f4:     str     r5, [r8]
0x800908f8:     ldr     r5, [r6]
0x800908fc:     ldr     r5, [r7]
0x80090900:     ldr     r8, [pc, #24]   ; 0x80090920
0x80090904:     ldr     r5, [pc, #24]   ; 0x80090924
0x80090908:     str     r5, [r8]
0x8009090c:     mov     pc, lr
0x80090910:     andhi   r0, r0, r0, lsl #24
0x80090914:     andeq   r0, r0, r1
0x80090918:     streqh  r0, [r0], -r8
0x8009091c:     andeq   r1, r0, r0, ror r7
0x80090920:     andhi   r0, r6, r4
0x80090924:     andhi   r0, r0, r0
0x80090928:     andhi   r0, r0, r1
0x8009092c:     andhi   r0, r0, r2
0x80090930:     andhi   r0, r0, r3
0x80090934:     andhi   r0, r6, r8
0x80090938:     andeq   r0, r0, r4, lsl #4
0x8009093c:     andhi   r0, r6, r12
0x80090940:     andhi   r0, r6, r0, lsl r0
0x80090944:     andhi   r0, r6, r4, lsl r0
0x80090948:     andhi   r0, r6, r8, lsl r0
0x8009094c:     andhi   r0, r6, r12, lsl r0
0x80090950:     teqeq   r2, r8, lsr #32
0x80090954:     teqeq   r2, r8
0x80090958:     eoreq   r0, r10, r12, lsr #32
0x8009095c:     eoreq   r0, r10, r8, lsr #32
0x80090960:     teqeq   r2, r12
0x80090964:     teqeq   r2, r8
0x80090968:     andgt   r6, r0, r0, lsl #12
0x8009096c:     andgt   r12, r0, r0, lsl #16
0x80090970:     andgt   r6, r4, r0, lsl #12
0x80090974:     andgt   r12, r8, r0, lsl #16
0x80090978:     andle   r12, r0, r0, lsl #16
0x8009097c:     andnv   r12, r8, r0, lsl #16
0x80090980:     andnv   r12, r0, r0, lsl #16
0x80090984:     mov     r12, lr
0x80090988:     ldr     r0, [pc, #768]  ; 0x80090c90
0x8009098c:     mov     r1, #170        ; 0xaa
0x80090990:     str     r1, [r0, #192]
0x80090994:     mov     r1, #262144     ; 0x40000
0x80090998:     str     r1, [r0, #128]
0x8009099c:     mov     r0, #120        ; 0x78
0x800909a0:     mcr     15, 0, r0, cr1, cr0, {0}
0x800909a4:     nop                     (mov r0,r0)
0x800909a8:     nop                     (mov r0,r0)
0x800909ac:     nop                     (mov r0,r0)
0x800909b0:     nop                     (mov r0,r0)
0x800909b4:     nop                     (mov r0,r0)
0x800909b8:     mov     pc, r12
0x800909bc:     ldr     r4, [pc, #12]   ; 0x800909d0
0x800909c0:     subs    r4, r4, #1      ; 0x1
0x800909c4:     bne     0x800909c0
0x800909c8:     mov     pc, lr
0x800909cc:     andeq   r0, r0, r0
0x800909d0:     andeq   r0, r0, r0, lsl #5
0x800909d4:     andeq   r9, r3, r7, ror #17
0x800909d8:     andeq   r11, r3, r8, lsl r11
0x800909dc:     ldr     r0, [pc, #92]   ; 0x80090a40
0x800909e0:     ldr     r1, [pc, #92]   ; 0x80090a44
0x800909e4:     ldr     r2, [pc, #-2332]        ; 0x800900d0
0x800909e8:     ldr     r3, [r2]
0x800909ec:     and     r4, r3, #192    ; 0xc0
0x800909f0:     cmp     r4, #192        ; 0xc0
0x800909f4:     beq     0x80090a18
0x800909f8:     cmp     r4, #128        ; 0x80
0x800909fc:     beq     0x80090a18
0x80090a00:     cmp     r4, #64 ; 0x40
0x80090a04:     beq     0x80090a20
0x80090a08:     ldr     r1, [pc, #56]   ; 0x80090a48
0x80090a0c:     cmp     r4, #0  ; 0x0
0x80090a10:     beq     0x80090a24
0x80090a14:     b       0x80090a24
0x80090a18:     orr     r1, r1, #536870912      ; 0x20000000
0x80090a1c:     b       0x80090a24
0x80090a20:     orr     r1, r1, #268435456      ; 0x10000000
0x80090a24:     str     r1, [r0]
0x80090a28:     str     r1, [r0, #4]
0x80090a2c:     str     r1, [r0, #8]
0x80090a30:     str     r1, [r0, #12]
0x80090a34:     str     r1, [r0, #24]
0x80090a38:     str     r1, [r0, #28]
0x80090a3c:     mov     pc, lr
0x80090a40:     andhi   r0, r8, r0
0x80090a44:     andeq   r1, r0, r1, ror #24
0x80090a48:     andeq   r1, r0, r1, ror #16
0x80090a4c:     mov     r9, lr
0x80090a50:     bl      0x80090ac0
0x80090a54:     bl      0x80090a60
0x80090a58:     mov     lr, r9
0x80090a5c:     mov     pc, lr
0x80090a60:     stmdb   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, r10, lr}
0x80090a64:     mov     r12, lr
0x80090a68:     mov     r1, #1  ; 0x1
0x80090a6c:     ldr     r2, [pc, #540]  ; 0x80090c90
0x80090a70:     ldr     r3, [r2, #68]
0x80090a74:     and     r3, r3, r1
0x80090a78:     cmp     r3, r1
0x80090a7c:     beq     0x80090ab0
0x80090a80:     mov     r3, #2048       ; 0x800
0x80090a84:     mov     r4, #4  ; 0x4
0x80090a88:     ldr     r5, [pc, #556]  ; 0x80090cbc
0x80090a8c:     bl      0x80090b04
0x80090a90:     ldmeqia sp!, {r2, r3, r4, r5, r6, r7, r8, r9, r10, pc}
0x80090a94:     mov     r0, r4
0x80090a98:     bl      0x80090c28
0x80090a9c:     str     r0, [r5], #4
0x80090aa0:     subs    r3, r3, #4      ; 0x4
0x80090aa4:     add     r4, r4, #4      ; 0x4
0x80090aa8:     bne     0x80090a94
0x80090aac:     ldr     pc, [pc, #524]  ; 0x80090cc0
0x80090ab0:     mov     r1, #1  ; 0x1
0x80090ab4:     ldr     r2, [pc, #468]  ; 0x80090c90
0x80090ab8:     str     r1, [r2, #68]
0x80090abc:     mov     pc, r12
0x80090ac0:     ldr     r11, [pc, #468] ; 0x80090c9c
0x80090ac4:     ldr     r10, [pc, #432] ; 0x80090c7c
0x80090ac8:     mov     r1, #4  ; 0x4
0x80090acc:     str     r1, [r11, #16]
0x80090ad0:     ldr     r1, [pc, #456]  ; 0x80090ca0
0x80090ad4:     str     r1, [r11]
0x80090ad8:     mov     r1, #16 ; 0x10
0x80090adc:     str     r1, [r11, #4]
0x80090ae0:     ldr     sp, [pc, #464]  ; 0x80090cb8
0x80090ae4:     mov     r0, #0  ; 0x0
0x80090ae8:     mov     r1, #63 ; 0x3f
0x80090aec:     str     r0, [sp]
0x80090af0:     sub     sp, sp, #4      ; 0x4
0x80090af4:     subs    r1, r1, #1      ; 0x1
0x80090af8:     bne     0x80090aec
0x80090afc:     ldr     sp, [pc, #436]  ; 0x80090cb8
0x80090b00:     mov     pc, lr
0x80090b04:     stmdb   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, r10, lr}
0x80090b08:     mov     r1, #3  ; 0x3
0x80090b0c:     mov     r0, #0  ; 0x0
0x80090b10:     ldr     r2, [pc, #360]  ; 0x80090c80
0x80090b14:     bl      0x80090c28
0x80090b18:     cmp     r0, r2
0x80090b1c:     beq     0x80090b30
0x80090b20:     ldr     r2, [pc, #348]  ; 0x80090c84
0x80090b24:     cmp     r0, r2
0x80090b28:     beq     0x80090b38
0x80090b2c:     b       0x80090b40
0x80090b30:     cmp     r1, #0  ; 0x0
0x80090b34:     ldmia   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, r10, pc}
0x80090b38:     cmp     r1, #0  ; 0x0
0x80090b3c:     ldmia   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, r10, pc}
0x80090b40:     subs    r1, r1, #1      ; 0x1
0x80090b44:     bne     0x80090b0c
0x80090b48:     ldmia   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, r10, pc}
0x80090b4c:     stmdb   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, lr}
0x80090b50:     mov     r4, r1
0x80090b54:     and     r1, r0, #255    ; 0xff
0x80090b58:     mov     r2, r0, lsr #8
0x80090b5c:     and     r2, r2, #255    ; 0xff
0x80090b60:     mov     r3, r0, lsr #16
0x80090b64:     and     r3, r3, #255    ; 0xff
0x80090b68:     mov     r5, #3  ; 0x3
0x80090b6c:     mov     r6, #0  ; 0x0
0x80090b70:     cmp     r4, #1  ; 0x1
0x80090b74:     beq     0x80090b88
0x80090b78:     cmp     r4, #2  ; 0x2
0x80090b7c:     beq     0x80090bac
0x80090b80:     cmp     r4, #3  ; 0x3
0x80090b84:     beq     0x80090bc0
0x80090b88:     tst     r0, #256        ; 0x100
0x80090b8c:     bne     0x80090b98
0x80090b90:     mov     r5, #3  ; 0x3
0x80090b94:     b       0x80090b9c
0x80090b98:     mov     r5, #11 ; 0xb
0x80090b9c:     strh    r5, [r11, #8]
0x80090ba0:     strh    r1, [r11, #8]
0x80090ba4:     strh    r6, [r11, #8]
0x80090ba8:     b       0x80090bd4
0x80090bac:     strh    r5, [r11, #8]
0x80090bb0:     strh    r2, [r11, #8]
0x80090bb4:     strh    r1, [r11, #8]
0x80090bb8:     strh    r6, [r11, #8]
0x80090bbc:     b       0x80090bd4
0x80090bc0:     strh    r5, [r11, #8]
0x80090bc4:     strh    r3, [r11, #8]
0x80090bc8:     strh    r2, [r11, #8]
0x80090bcc:     strh    r1, [r11, #8]
0x80090bd0:     strh    r6, [r11, #8]
0x80090bd4:     mov     r6, #1  ; 0x1
0x80090bd8:     orr     r6, r6, #4      ; 0x4
0x80090bdc:     mov     r5, #0  ; 0x0
0x80090be0:     ldr     r7, [r11, #12]
0x80090be4:     add     r5, r5, #1      ; 0x1
0x80090be8:     cmp     r5, #65536      ; 0x10000
0x80090bec:     beq     0x80090ab0
0x80090bf0:     and     r8, r7, r6
0x80090bf4:     cmp     r8, r6
0x80090bf8:     bne     0x80090be0
0x80090bfc:     mov     r5, #0  ; 0x0
0x80090c00:     ldr     r7, [r11, #12]
0x80090c04:     and     r8, r7, #4      ; 0x4
0x80090c08:     add     r5, r5, #1      ; 0x1
0x80090c0c:     cmp     r5, #65536      ; 0x10000
0x80090c10:     beq     0x80090ab0
0x80090c14:     cmp     r8, #4  ; 0x4
0x80090c18:     ldreqh  r0, [r11, #8]
0x80090c1c:     beq     0x80090c00
0x80090c20:     mov     r1, r4
0x80090c24:     ldmia   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, pc}
0x80090c28:     stmdb   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, lr}
0x80090c2c:     mov     r5, r0
0x80090c30:     mov     r4, #0  ; 0x0
0x80090c34:     mov     r9, #8  ; 0x8
0x80090c38:     bl      0x80090b4c
0x80090c3c:     and     r6, r5, #3      ; 0x3
0x80090c40:     mul     r7, r6, r9
0x80090c44:     mov     r8, r0, lsl r7
0x80090c48:     orr     r4, r4, r8
0x80090c4c:     add     r5, r5, #1      ; 0x1
0x80090c50:     mov     r0, r5
0x80090c54:     bl      0x80090b4c
0x80090c58:     and     r6, r5, #3      ; 0x3
0x80090c5c:     mul     r7, r6, r9
0x80090c60:     mov     r8, r0, lsl r7
0x80090c64:     orr     r4, r4, r8
0x80090c68:     subs    r0, r6, #3      ; 0x3
0x80090c6c:     add     r5, r5, #1      ; 0x1
0x80090c70:     bne     0x80090c50
0x80090c74:     mov     r0, r4
0x80090c78:     ldmia   sp!, {r2, r3, r4, r5, r6, r7, r8, r9, pc}

80090000 : e3a03102 e3a04809 e1833004 e3833018  .1...H...0...0..
80090010 : e1a00000 e1a0f003 e1a00000 e59f00b0  ................
80090020 : e3a01002 e5801000 e59f0098 e59f1098  ................
80090030 : e5801000 eb000252 e1a00000 eb000266  ....R.......f...
80090040 : eb0001f8 e3a02000 e3a00102 e3a01893  ..... ..........
80090050 : e1800001 e5802058 e59f0074 e3a01001  ....X ..t.......
80090060 : e5801000 e59f0064 e5901000 e3110c01  ....d...........
80090070 : 1a000067 eb000274 eb00001a eb000039  g...t.......9...
80090080 : e1a00000 e59f0048 e3a01002 e5801000  ....H...........
80090090 : e3a03a02 e1a00000 e1a00000 e1a00000  .:..............
800900a0 : e1a00000 e1a00000 e59f0024 e5901000  ........$.......
800900b0 : e2211002 e5801000 e2533001 1afffffd  ..!......0S.....
800900c0 : eafffff2 80014000 80940000 0000aa55  .....@......U...
800900d0 : 8093009c 80840020 80840000 00005dc0  .... ........]..
800900e0 : 00002ee0 00001770 e59f0058 e59f1b8c  ....p...X.......
800900f0 : e59f2b8c e59f3048 e4934004 e5945000  .+..H0...@...P..
80090100 : e1510005 0a00000a e1520005 0a000009  ..Q.......R.....
80090110 : e2844a01 e5945000 e1510005 0a000006  .J...P....Q.....
80090120 : e1520005 0a000005 e2500001 1afffff1  ..R.......P.....
80090130 : e1a0f00e e284f004 e284f004 e244fa01  ..............D.
80090140 : e244fa01 8009014c 00000007 10000000  ..D.L...........
80090150 : 20000000 30000000 60000000 70000000  ... ...0...`...p
80090160 : c0000000 f0000000 e59f0050 e59f3044  ........P...D0..
80090170 : e59f5040 e5830000 e5932000 e1500002  @P....... ....P.
80090180 : 0a000001 e59f3030 e59f502c e59f001c  ....00..,P......
80090190 : e59f101c e0412000 e1a02122 e4904004  ..... A."!...@..
800901a0 : e4834004 e2522001 1afffffb e1a0f005  .@... R.........
800901b0 : 800901c4 80090210 00000000 80014000  .............@..
800901c0 : 1a2b3c4d ea000007 ea000006 eafffffe  M<+.............
800901d0 : eafffffe eafffffe eafffffe eafffffe  ................
800901e0 : eafffffe e1a00000 e3a00102 e3a01721  ............!...
800901f0 : e1800001 e3a01001 e3a02801 e5801020  .........(.. ...
80090200 : e2522001 1afffffd e2211001 eafffff9  . R.......!.....
80090210 : 00000000 e59fc160 e3a01000 e58c1004  ....`...........
80090220 : e58c100c e3a0102e e58c1010 e3a01060  ............`...
80090230 : e58c1008 e3a01003 e58c1100 e3a01001  ................
80090240 : e58c1014 e3a0003c e5cc0000 e3a03b02  ....<........;..
80090250 : e51f2194 e51fb188 e3a0a001 e58ba000  .!..............
80090260 : e3a05000 e3a04000 e3a09008 e59c1018  .P...@..........
80090270 : e3110010 1afffffc e5dc0000 e2056003  .............`..
80090280 : e0070996 e1a08710 e1844008 e2855001  .........@...P..
80090290 : e59c1018 e3110010 1afffffc e5dc0000  ................
800902a0 : e2056003 e0070996 e1a08710 e1844008  .`...........@..
800902b0 : e3560003 e2855001 1afffff4 e4824004  ..V..P.......@..
800902c0 : e59ba000 e22aa001 e58ba000 e3530b02  ......*.......S.
800902d0 : 0a000005 e3a04000 e2533004 1affffeb  .....@...0S.....
800902e0 : e3a0003e e5cc0000 e51ff22c e59f008c  >.......,.......
800902f0 : e1500004 0a000003 e59f0084 e1500004  ..P...........P.
80090300 : 0a000009 eafffff2 e3a00000 e59c1018  ................
80090310 : e3110080 0afffffc e5cc0000 e2800001  ................
80090320 : e3500c01 0afffff7 eafffff7 e59f3034  ..P.........40..
80090330 : e59f4034 e0444003 e59c1018 e3110080  4@...@D.........
80090340 : 0afffffc e4d35001 e5cc5000 e2544001  .....P...P...@T.
80090350 : 1afffff8 e3a04801 e2544001 1afffffd  .....H...@xxxxxx
80090360 : eafffff1 eafffffe 80090388 80090827  ............'...
80090370 : 00000000 00000000 00000000 808c0000  ................
80090380 : 54524155 544e4155 20202020 20202020  UARTUANT
80090390 : 20202020 20202020 20202020 20202020
800903a0 : 20202020 654e2020 20737578 6d616554        Nexus Team

80090820 : 0a202d20 000d0a0d e59f10e8 e2511001   - ...........Q.
80090830 : 1afffffd e51f076c e5901000 e20120c0  ....l........ ..
80090840 : e35200c0 0a000005 e3520080 0a000003  ..R.......R.....
80090850 : e59f5100 e59f80e4 e5885000 ea000002  .Q.......P......
80090860 : e59f50f4 e59f80d4 e5885000 e59f50dc  .P.......P...P..
80090870 : e59f80d4 e5885000 e59f1098 e2511001  .....P........Q.
80090880 : 1afffffd e59f8094 e59f50a0 e5885000  .........P...P..
80090890 : e59f1084 e2511001 1afffffd e59f807c  ......Q.....|...
800908a0 : e59f5080 e5885000 e59f8084 e3a0500a  .P...P.......P..
800908b0 : e5885000 e59f105c e2511001 1afffffd  .P..\.....Q.....
800908c0 : e59f806c e59f506c e5885000 e35200c0  l...lP...P....R.
800908d0 : 0a000003 e3520080 0a000001 e59f608c  ......R......`..
800908e0 : ea000000 e59f6088 e59f7090 e59f802c  .....`...p..,...
800908f0 : e59f5034 e5885000 e5965000 e5975000  4P...P...P...P..
80090900 : e59f8018 e59f5018 e5885000 e1a0f00e  .....P...P......
80090910 : 80000c00 00000001 00000bb8 00001770  ............p...
80090920 : 80060004 80000000 80000001 80000002  ................
80090930 : 80000003 80060008 00000204 8006000c  ................
80090940 : 80060010 80060014 80060018 8006001c  ................
80090950 : 01220028 01220008 002a002c 002a0028  (."...".,.*.(.*.
80090960 : 0122000c 01220008 c0006600 c000c800  .."..."..f......
80090970 : c0046600 c008c800 d000c800 f008c800  .f..............
80090980 : f000c800 e1a0c00e e59f0300 e3a010aa  ................
80090990 : e58010c0 e3a01701 e5801080 e3a00078  ............x...
800909a0 : ee010f10 e1a00000 e1a00000 e1a00000  ................
800909b0 : e1a00000 e1a00000 e1a0f00c e59f400c  .............@..
800909c0 : e2544001 1afffffd e1a0f00e 00000000  .@xxxxxxxxxxxxxx
800909d0 : 00000280 000398e7 0003bb18 e59f005c  ............\...
800909e0 : e59f105c e51f291c e5923000 e20340c0  \....)...0...@..
800909f0 : e35400c0 0a000007 e3540080 0a000005  ..T.......T.....
80090a00 : e3540040 0a000005 e59f1038 e3540000  @.T.....8.....T.
80090a10 : 0a000003 ea000002 e3811202 ea000000  ................
80090a20 : e3811201 e5801000 e5801004 e5801008  ................
80090a30 : e580100c e5801018 e580101c e1a0f00e  ................
80090a40 : 80080000 00001c61 00001861 e1a0900e  ....a...a.......
80090a50 : eb00001a eb000001 e1a0e009 e1a0f00e  ................
80090a60 : e92d47fc e1a0c00e e3a01001 e59f221c  .G-.........."..
80090a70 : e5923044 e0033001 e1530001 0a00000b  D0...0....S.....
80090a80 : e3a03b02 e3a04004 e59f522c eb00001c  .;...@..,R......
80090a90 : 08bd87fc e1a00004 eb000062 e4850004  ........b.......
80090aa0 : e2533004 e2844004 1afffff9 e59ff20c  .0S..@..........
80090ab0 : e3a01001 e59f21d4 e5821044 e1a0f00c  .....!..D.......
80090ac0 : e59fb1d4 e59fa1b0 e3a01004 e58b1010  ................
80090ad0 : e59f11c8 e58b1000 e3a01010 e58b1004  ................
80090ae0 : e59fd1d0 e3a00000 e3a0103f e58d0000  ........?.......
80090af0 : e24dd004 e2511001 1afffffb e59fd1b4  ..M...Q.........
80090b00 : e1a0f00e e92d47fc e3a01003 e3a00000  .....G-.........
80090b10 : e59f2168 eb000043 e1500002 0a000003  h!..C.....P.....
80090b20 : e59f215c e1500002 0a000002 ea000003  \!....P.........
80090b30 : e3510000 e8bd87fc e3510000 e8bd87fc  ..Q.......Q.....
80090b40 : e2511001 1afffff0 e8bd87fc e92d43fc  ..Q..........C-.
80090b50 : e1a04001 e20010ff e1a02420 e20220ff  .@...... $... ..
80090b60 : e1a03820 e20330ff e3a05003 e3a06000   8...0...P...`..
80090b70 : e3540001 0a000003 e3540002 0a00000a  ..T.......T.....
80090b80 : e3540003 0a00000d e3100c01 1a000001  ..T.............
80090b90 : e3a05003 ea000000 e3a0500b e1cb50b8  .P.......P...P..
80090ba0 : e1cb10b8 e1cb60b8 ea000009 e1cb50b8  .....`.......P..
80090bb0 : e1cb20b8 e1cb10b8 e1cb60b8 ea000004  . .......`......
80090bc0 : e1cb50b8 e1cb30b8 e1cb20b8 e1cb10b8  .P...0... ......
80090bd0 : e1cb60b8 e3a06001 e3866004 e3a05000  .`...`...`...P..
80090be0 : e59b700c e2855001 e3550801 0affffaf  .p...P....U.....
80090bf0 : e0078006 e1580006 1afffff8 e3a05000  ......X......P..
80090c00 : e59b700c e2078004 e2855001 e3550801  .p.......P....U.
80090c10 : 0affffa6 e3580004 01db00b8 0afffff7  ......X.........
80090c20 : e1a01004 e8bd83fc e92d43fc e1a05000  .........C-..P..
80090c30 : e3a04000 e3a09008 ebffffc3 e2056003  .@...........`..
80090c40 : e0070996 e1a08710 e1844008 e2855001  .........@...P..
80090c50 : e1a00005 ebffffbc e2056003 e0070996  .........`......
80090c60 : e1a08710 e1844008 e2560003 e2855001  .....@....V..P..
80090c70 : 1afffff6 e1a00004 e8bd83fc 80090cd4  ................
80090c80 : 53555243 43525553 43525553 53555243  CRUSSURCSURCCRUS
80090c90 : 80930000 baddcafe 00000200 808a0000  ................
80090ca0 : 000001c7 000002c7 000000c7 00000100  ................
80090cb0 : 80840000 80014000 800148fc 80014000  .....@...H...@..
80090cc0 : 80014000 00000800 00000080 00000001  .@..............
80090cd0 : 00000000 00000000 00000000 00000000  ................
----------------------------------------------------------------------



>Has anyone disassembled the internal ROM?
>
> From time to time I have situations where I'd like to see exactly what
>Cirrus do before I can get  control of the processor.
>
>David Collier
>
>email at davidc@xxxxxxxxx o m
>see www.Dexdyne.com




Other related posts: