changeset 84:8b15a0969c9e

beginning of C139 boot ROM re
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Thu, 27 Mar 2014 07:07:41 +0000
parents 3dfecd91c5b0
children 3c420895f68f
files compal/c139-boot.90.04.bin compal/c139-boot.disasm
diffstat 2 files changed, 120 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
Binary file compal/c139-boot.90.04.bin has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/c139-boot.disasm	Thu Mar 27 07:07:41 2014 +0000
@@ -0,0 +1,120 @@
+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
+
+<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:	0040
+     882:	0000
+     884:	fffffd00
+     888:	ffff9800
+     88c:	fffffb10
+     890:	ffffff08
+     894:	20061081
+     898:	00000800
+
+; RESET entry point
+     89c:	e51f1020 	ldr	r1, [pc, #-32]	; 0x884
+     8a0:	e1d120b2 	ldrh	r2, [r1, #2]
+     8a4:	e51f002c 	ldr	r0, [pc, #-44]	; 0x880
+     8a8:	e1800002 	orr	r0, r0, r2
+     8ac:	e1c100b2 	strh	r0, [r1, #2]
+     8b0:	e51f1030 	ldr	r1, [pc, #-48]	; 0x888
+     8b4:	e15f22b6 	ldrh	r2, [pc, #-38]	; 0x896
+     8b8:	e1c120b0 	strh	r2, [r1]
+     8bc:	e5912000 	ldr	r2, [r1]
+     8c0:	e2022001 	and	r2, r2, #1	; 0x1
+     8c4:	e3520001 	cmp	r2, #1	; 0x1
+     8c8:	0afffffb 	beq	0x8bc
+     8cc:	e51f1050 	ldr	r1, [pc, #-80]	; 0x884
+     8d0:	e15f24b4 	ldrh	r2, [pc, #-68]	; 0x894
+     8d4:	e1c120b0 	strh	r2, [r1]
+     8d8:	e51f1054 	ldr	r1, [pc, #-84]	; 0x88c
+     8dc:	e15f24bc 	ldrh	r2, [pc, #-76]	; 0x898
+     8e0:	e1d100b0 	ldrh	r0, [r1]
+     8e4:	e1800002 	orr	r0, r0, r2
+     8e8:	e1c100b0 	strh	r0, [r1]
+     8ec:	e51f1064 	ldr	r1, [pc, #-100]	; 0x890
+     8f0:	e15f25be 	ldrh	r2, [pc, #-94]	; 0x89a
+     8f4:	e1c120b0 	strh	r2, [r1]
+     8f8:	e51f1094 	ldr	r1, [pc, #-148]	; 0x86c
+     8fc:	e15f29b4 	ldrh	r2, [pc, #-148]	; 0x870
+     900:	e1c120b0 	strh	r2, [r1]
+     904:	e15f29ba 	ldrh	r2, [pc, #-154]	; 0x872
+     908:	e1c120b2 	strh	r2, [r1, #2]
+     90c:	e15f2ab0 	ldrh	r2, [pc, #-160]	; 0x874
+     910:	e1c120b4 	strh	r2, [r1, #4]
+     914:	e15f2ab6 	ldrh	r2, [pc, #-166]	; 0x876
+     918:	e1c120b6 	strh	r2, [r1, #6]
+     91c:	e15f2abc 	ldrh	r2, [pc, #-172]	; 0x878
+     920:	e1c120ba 	strh	r2, [r1, #10]
+     924:	e15f2bb2 	ldrh	r2, [pc, #-178]	; 0x87a
+     928:	e1c120bc 	strh	r2, [r1, #12]
+     92c:	e15f2bb8 	ldrh	r2, [pc, #-184]	; 0x87c
+     930:	e1c120b8 	strh	r2, [r1, #8]
+     934:	e15f2bbe 	ldrh	r2, [pc, #-190]	; 0x87e
+     938:	e1c120be 	strh	r2, [r1, #14]
+     93c:	e59f0020 	ldr	r0, [pc, #32]	; 0x964
+     940:	e3a01b01 	mov	r1, #1024	; 0x400
+     944:	e2411004 	sub	r1, r1, #4	; 0x4
+     948:	e0802001 	add	r2, r0, r1
+     94c:	e3c22003 	bic	r2, r2, #3	; 0x3
+     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
+
+     964:	0083e574
+
+<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>