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