view compal/c139-boot.disasm @ 99:3bd695d9b2b4

C139 boot re: C140 differences noted
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Mon, 31 Mar 2014 01:05:44 +0000
parents 3c420895f68f
children ec90136f07a6
line wrap: on
line source

RESET entry and exception vectors:
       0:	ea000225 	b	0x89c
       4:	ea000825 	b	0x20a0
       8:	ea000825 	b	0x20a4
       c:	ea000825 	b	0x20a8
      10:	ea000825 	b	0x20ac
      14:	ea000825 	b	0x20b0
      18:	ea000825 	b	0x20b4
      1c:	ea000825 	b	0x20b8

; some magic words?
      20:	444efc57
      24:	444efc58
      28:	444efc86
      2c:	444efc87
; different in the C140 specimen:
      20:	44b1b707
      24:	44b1b708
      28:	44b1b735
      2c:	44b1b736

<30-7FF: all FFs>

00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................

     830:	00000006
	...
     83c:	00000048
     840:	00000044
     844:	00000052
     848:	0000001b
     84c:	00000005
	...
     860:	000000fa
     864:	ffff5800
     868:	ffff5000
     86c:	fffffb00
     870:	02a1
     872:	02a1
     874:	02a1
     876:	0283
     878:	0281
     87a:	00c0
     87c:	0040
     87e:	002a
     880:	00000040
     884:	fffffd00
     888:	ffff9800
     88c:	fffffb10
     890:	ffffff08
     894:	1081
     896:	2006
     898:	0800
     89a:	0000

; RESET entry point
     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
     8a0:	e1d120b2	ldrh	r2, [r1, #2]
     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
     8a8:	e1800002	orr	r0, r0, r2
     8ac:	e1c100b2	strh	r0, [r1, #2]
     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
     8b8:	e1c120b0	strh	r2, [r1]
     8bc:	e5912000	ldr	r2, [r1]
     8c0:	e2022001	and	r2, r2, #1
     8c4:	e3520001	cmp	r2, #1
     8c8:	0afffffb	beq	0x8bc
     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
     8d4:	e1c120b0	strh	r2, [r1]
     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
     8e0:	e1d100b0	ldrh	r0, [r1]
     8e4:	e1800002	orr	r0, r0, r2
     8e8:	e1c100b0	strh	r0, [r1]
     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
     8f4:	e1c120b0	strh	r2, [r1]
     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
     900:	e1c120b0	strh	r2, [r1]
     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
     908:	e1c120b2	strh	r2, [r1, #2]
     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
     910:	e1c120b4	strh	r2, [r1, #4]
     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
     918:	e1c120b6	strh	r2, [r1, #6]
     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
     930:	e1c120b8	strh	r2, [r1, #8]
     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
     93c:	e59f0020	ldr	r0, =0x83e574	; via 0x964
     940:	e3a01b01	mov	r1, #1024	; 0x400
     944:	e2411004	sub	r1, r1, #4
     948:	e0802001	add	r2, r0, r1
     94c:	e3c22003	bic	r2, r2, #3
     950:	e1a0d002	mov	sp, r2
     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
     958:	eb000534	bl	0x1e30
     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
     960:	ea0005e4	b	0x20f8

; C139 specimen:
     964:	0083e574
; different in the C140 specimen:
     964:	0083e55c

<968-1E2F: not yet analyzed>

    1e30:	e92d4000 	stmdb	sp!, {lr}
    1e34:	e28fe001 	add	lr, pc, #1	; 0x1
    1e38:	e12fff1e 	bx	lr
    1e3c:	fe49f7fe 	bl	0xad2
    1e40:	4778      	bx	pc
    1e42:	46c0      	nop			(mov r8, r8)
    1e44:	e8bd8000 	ldmia	sp!, {pc}

<1E48-1EFF: all FFs>

    1f00:	00000001

<1F04-end: all FFs>