changeset 281:b7d93ff628a8

dsample-fw-disasm: found l1dmacro_init_hw() and l1dmacro_init_hw_light() functions
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 03 Mar 2019 07:53:54 +0000
parents 493bfe847128
children 52d21957bf2e
files dsample-fw-disasm
diffstat 1 files changed, 921 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/dsample-fw-disasm	Sun Feb 17 00:42:34 2019 +0000
+++ b/dsample-fw-disasm	Sun Mar 03 07:53:54 2019 +0000
@@ -458,6 +458,776 @@
    112e4:	0083bfc8
    112e8:	0083bf08
 
+$l1_dsp_init:
+  1fbd20:	b570		push	{r4, r5, r6, lr}
+  1fbd22:	4ca2		ldr	r4, =0x83cda0	; via 0x1fbfac
+  1fbd24:	48a2		ldr	r0, =0xffd001a8	; via 0x1fbfb0
+  1fbd26:	60e0		str	r0, [r4, #12]	; 0xc
+  1fbd28:	48a2		ldr	r0, =0xffd00050	; via 0x1fbfb4
+  1fbd2a:	6060		str	r0, [r4, #4]
+  1fbd2c:	48a2		ldr	r0, =0xffd00000	; via 0x1fbfb8
+  1fbd2e:	60a0		str	r0, [r4, #8]
+  1fbd30:	48a2		ldr	r0, =0xffd00862	; via 0x1fbfbc
+  1fbd32:	6120		str	r0, [r4, #16]	; 0x10
+  1fbd34:	2000		mov	r0, #0
+  1fbd36:	7020		strb	r0, [r4, #0]
+  1fbd38:	7060		strb	r0, [r4, #1]
+  1fbd3a:	70a0		strb	r0, [r4, #2]
+  1fbd3c:	4ea0		ldr	r6, =0x83ed90	; via 0x1fbfc0
+  1fbd3e:	48a1		ldr	r0, =0xffd0035c	; via 0x1fbfc4
+  1fbd40:	60b0		str	r0, [r6, #8]
+  1fbd42:	48a1		ldr	r0, =0xffd000f0	; via 0x1fbfc8
+  1fbd44:	6030		str	r0, [r6, #0]
+  1fbd46:	48a1		ldr	r0, =0xffd000a0	; via 0x1fbfcc
+  1fbd48:	6070		str	r0, [r6, #4]
+  1fbd4a:	48a1		ldr	r0, =0xffd00900	; via 0x1fbfd0
+  1fbd4c:	60f0		str	r0, [r6, #12]	; 0xc
+  1fbd4e:	48a1		ldr	r0, =0x83c72c	; via 0x1fbfd4
+  1fbd50:	6801		ldr	r1, [r0, #0]
+  1fbd52:	48a1		ldr	r0, =0xffef	; via 0x1fbfd8
+  1fbd54:	880a		ldrh	r2, [r1, #0]
+  1fbd56:	4010		and	r0, r2
+  1fbd58:	8008		strh	r0, [r1, #0]
+  1fbd5a:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbd5c:	7820		ldrb	r0, [r4, #0]
+  1fbd5e:	8008		strh	r0, [r1, #0]
+  1fbd60:	224a		mov	r2, #74	; 0x4a
+  1fbd62:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbd64:	2001		mov	r0, #1
+  1fbd66:	5250		strh	r0, [r2, r1]
+  1fbd68:	2148		mov	r1, #72	; 0x48
+  1fbd6a:	68e0		ldr	r0, [r4, #12]	; 0xc
+  1fbd6c:	2500		mov	r5, #0
+  1fbd6e:	520d		strh	r5, [r1, r0]
+  1fbd70:	20ff		mov	r0, #255	; 0xff
+  1fbd72:	30fd		add	r0, #253	; 0xfd
+  1fbd74:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbd76:	2240		mov	r2, #64	; 0x40
+  1fbd78:	5242		strh	r2, [r0, r1]
+  1fbd7a:	2047		mov	r0, #71	; 0x47
+  1fbd7c:	00c0		lsl	r0, r0, #3
+  1fbd7e:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbd80:	5245		strh	r5, [r0, r1]
+  1fbd82:	208f		mov	r0, #143	; 0x8f
+  1fbd84:	0081		lsl	r1, r0, #2
+  1fbd86:	68e3		ldr	r3, [r4, #12]	; 0xc
+  1fbd88:	4894		ldr	r0, =0xffff	; via 0x1fbfdc
+  1fbd8a:	52c8		strh	r0, [r1, r3]
+  1fbd8c:	21ff		mov	r1, #255	; 0xff
+  1fbd8e:	3109		add	r1, #9
+  1fbd90:	68e3		ldr	r3, [r4, #12]	; 0xc
+  1fbd92:	52cd		strh	r5, [r1, r3]
+  1fbd94:	21ff		mov	r1, #255	; 0xff
+  1fbd96:	310d		add	r1, #13	; 0xd
+  1fbd98:	68e3		ldr	r3, [r4, #12]	; 0xc
+  1fbd9a:	52c8		strh	r0, [r1, r3]
+  1fbd9c:	2115		mov	r1, #21	; 0x15
+  1fbd9e:	0149		lsl	r1, r1, #5
+  1fbda0:	68e3		ldr	r3, [r4, #12]	; 0xc
+  1fbda2:	52cd		strh	r5, [r1, r3]
+  1fbda4:	21a9		mov	r1, #169	; 0xa9
+  1fbda6:	0089		lsl	r1, r1, #2
+  1fbda8:	68e3		ldr	r3, [r4, #12]	; 0xc
+  1fbdaa:	52c8		strh	r0, [r1, r3]
+  1fbdac:	21ff		mov	r1, #255	; 0xff
+  1fbdae:	3135		add	r1, #53	; 0x35
+  1fbdb0:	68e3		ldr	r3, [r4, #12]	; 0xc
+  1fbdb2:	52cd		strh	r5, [r1, r3]
+  1fbdb4:	21ff		mov	r1, #255	; 0xff
+  1fbdb6:	3139		add	r1, #57	; 0x39
+  1fbdb8:	68e3		ldr	r3, [r4, #12]	; 0xc
+  1fbdba:	52c8		strh	r0, [r1, r3]
+  1fbdbc:	4b88		ldr	r3, =0x21a	; via 0x1fbfe0
+  1fbdbe:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbdc0:	525a		strh	r2, [r3, r1]
+  1fbdc2:	4988		ldr	r1, =0x21e	; via 0x1fbfe4
+  1fbdc4:	68e2		ldr	r2, [r4, #12]	; 0xc
+  1fbdc6:	5288		strh	r0, [r1, r2]
+  1fbdc8:	20ff		mov	r0, #255	; 0xff
+  1fbdca:	30cf		add	r0, #207	; 0xcf
+  1fbdcc:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbdce:	5245		strh	r5, [r0, r1]
+  1fbdd0:	68e0		ldr	r0, [r4, #12]	; 0xc
+  1fbdd2:	2101		mov	r1, #1
+  1fbdd4:	02c9		lsl	r1, r1, #11
+  1fbdd6:	80c1		strh	r1, [r0, #6]
+  1fbdd8:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbdda:	4883		ldr	r0, =0x83ce48	; via 0x1fbfe8
+  1fbddc:	7800		ldrb	r0, [r0, #0]
+  1fbdde:	01c0		lsl	r0, r0, #7
+  1fbde0:	2201		mov	r2, #1
+  1fbde2:	0252		lsl	r2, r2, #9
+  1fbde4:	1a80		sub	r0, r0, r2
+  1fbde6:	0540		lsl	r0, r0, #21
+  1fbde8:	0f00		lsr	r0, r0, #28
+  1fbdea:	01c0		lsl	r0, r0, #7
+  1fbdec:	88ca		ldrh	r2, [r1, #6]
+  1fbdee:	4310		orr	r0, r2
+  1fbdf0:	80c8		strh	r0, [r1, #6]
+  1fbdf2:	2254		mov	r2, #84	; 0x54
+  1fbdf4:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbdf6:	20ff		mov	r0, #255	; 0xff
+  1fbdf8:	3001		add	r0, #1
+  1fbdfa:	5250		strh	r0, [r2, r1]
+  1fbdfc:	f034 f9fa	bl	0x2301f4	; $l1audio_dsp_init
+  1fbe00:	487a		ldr	r0, =0x2d6	; via 0x1fbfec
+  1fbe02:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe04:	5245		strh	r5, [r0, r1]
+  1fbe06:	205b		mov	r0, #91	; 0x5b
+  1fbe08:	00c0		lsl	r0, r0, #3
+  1fbe0a:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe0c:	5245		strh	r5, [r0, r1]
+  1fbe0e:	4878		ldr	r0, =0x2da	; via 0x1fbff0
+  1fbe10:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe12:	5245		strh	r5, [r0, r1]
+  1fbe14:	20b7		mov	r0, #183	; 0xb7
+  1fbe16:	0080		lsl	r0, r0, #2
+  1fbe18:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe1a:	5245		strh	r5, [r0, r1]
+  1fbe1c:	4875		ldr	r0, =0x2de	; via 0x1fbff4
+  1fbe1e:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe20:	5245		strh	r5, [r0, r1]
+  1fbe22:	2017		mov	r0, #23	; 0x17
+  1fbe24:	0141		lsl	r1, r0, #5
+  1fbe26:	68e0		ldr	r0, [r4, #12]	; 0xc
+  1fbe28:	520d		strh	r5, [r1, r0]
+  1fbe2a:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe2c:	20ff		mov	r0, #255	; 0xff
+  1fbe2e:	307a		add	r0, #122	; 0x7a
+  1fbe30:	8088		strh	r0, [r1, #4]
+  1fbe32:	20ff		mov	r0, #255	; 0xff
+  1fbe34:	3061		add	r0, #97	; 0x61
+  1fbe36:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe38:	5245		strh	r5, [r0, r1]
+  1fbe3a:	20ff		mov	r0, #255	; 0xff
+  1fbe3c:	3063		add	r0, #99	; 0x63
+  1fbe3e:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe40:	5245		strh	r5, [r0, r1]
+  1fbe42:	20ff		mov	r0, #255	; 0xff
+  1fbe44:	3065		add	r0, #101	; 0x65
+  1fbe46:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe48:	5245		strh	r5, [r0, r1]
+  1fbe4a:	20ff		mov	r0, #255	; 0xff
+  1fbe4c:	3067		add	r0, #103	; 0x67
+  1fbe4e:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe50:	5245		strh	r5, [r0, r1]
+  1fbe52:	20ff		mov	r0, #255	; 0xff
+  1fbe54:	3069		add	r0, #105	; 0x69
+  1fbe56:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe58:	5245		strh	r5, [r0, r1]
+  1fbe5a:	20ff		mov	r0, #255	; 0xff
+  1fbe5c:	306b		add	r0, #107	; 0x6b
+  1fbe5e:	68e1		ldr	r1, [r4, #12]	; 0xc
+  1fbe60:	5245		strh	r5, [r0, r1]
+  1fbe62:	68b0		ldr	r0, [r6, #8]
+  1fbe64:	8005		strh	r5, [r0, #0]
+  1fbe66:	68b0		ldr	r0, [r6, #8]
+  1fbe68:	2102		mov	r1, #2
+  1fbe6a:	8381		strh	r1, [r0, #28]	; 0x1c
+  1fbe6c:	20ff		mov	r0, #255	; 0xff
+  1fbe6e:	3085		add	r0, #133	; 0x85
+  1fbe70:	68b1		ldr	r1, [r6, #8]
+  1fbe72:	5245		strh	r5, [r0, r1]
+  1fbe74:	4850		ldr	r0, =0xffd00000	; via 0x1fbfb8
+  1fbe76:	f05a f877	bl	0x255f68
+  1fbe7a:	485f		ldr	r0, =0xffd00028	; via 0x1fbff8
+  1fbe7c:	f05a f874	bl	0x255f68
+  1fbe80:	484c		ldr	r0, =0xffd00050	; via 0x1fbfb4
+  1fbe82:	f05a f879	bl	0x255f78
+  1fbe86:	485d		ldr	r0, =0xffd00078	; via 0x1fbffc
+  1fbe88:	f05a f876	bl	0x255f78
+  1fbe8c:	bd70		pop	{r4, r5, r6, pc}
+
+$l1_tpu_init:
+  1fbe8e:	b500		push	{lr}
+  1fbe90:	f05a f972	bl	0x256178	; $l1dmacro_init_hw
+  1fbe94:	494f		ldr	r1, =0x83c72c	; via 0x1fbfd4
+  1fbe96:	485a		ldr	r0, =0xffff1000	; via 0x1fc000
+  1fbe98:	6008		str	r0, [r1, #0]
+  1fbe9a:	bd00		pop	{pc}
+
+$l1_tpu_init_light:
+  1fbe9c:	b500		push	{lr}
+  1fbe9e:	f05a f963	bl	0x256168	; $l1dmacro_init_hw_light
+  1fbea2:	494c		ldr	r1, =0x83c72c	; via 0x1fbfd4
+  1fbea4:	4856		ldr	r0, =0xffff1000	; via 0x1fc000
+  1fbea6:	6008		str	r0, [r1, #0]
+  1fbea8:	bd00		pop	{pc}
+
+$l1_abb_power_on:
+  1fbeaa:	b530		push	{r4, r5, lr}
+  1fbeac:	b08a		sub	sp, #40	; 0x28
+  1fbeae:	2000		mov	r0, #0
+  1fbeb0:	9003		str	r0, [sp, #12]	; 0xc
+  1fbeb2:	213c		mov	r1, #60	; 0x3c
+  1fbeb4:	9104		str	r1, [sp, #16]	; 0x10
+  1fbeb6:	466a		mov	r2, sp
+  1fbeb8:	2105		mov	r1, #5
+  1fbeba:	8291		strh	r1, [r2, #20]	; 0x14
+  1fbebc:	9006		str	r0, [sp, #24]	; 0x18
+  1fbebe:	2101		mov	r1, #1
+  1fbec0:	9107		str	r1, [sp, #28]	; 0x1c
+  1fbec2:	9008		str	r0, [sp, #32]	; 0x20
+  1fbec4:	9009		str	r0, [sp, #36]	; 0x24
+  1fbec6:	a803		add	r0, sp, #12	; 0xc
+  1fbec8:	f7c2 f98b	bl	0x1be1e2
+  1fbecc:	f7c2 fc23	bl	0x1be716
+  1fbed0:	f7c3 f806	bl	0x1beee0
+  1fbed4:	2000		mov	r0, #0
+  1fbed6:	2136		mov	r1, #54	; 0x36
+  1fbed8:	f7c2 fa70	bl	0x1be3bc
+  1fbedc:	2005		mov	r0, #5
+  1fbede:	0340		lsl	r0, r0, #13
+  1fbee0:	f7c2 fe98	bl	0x1bec14
+  1fbee4:	20ff		mov	r0, #255	; 0xff
+  1fbee6:	2100		mov	r1, #0
+  1fbee8:	f7c2 fbbc	bl	0x1be664
+  1fbeec:	4d45		ldr	r5, =0x10734cc	; via 0x1fc004
+  1fbeee:	2058		mov	r0, #88	; 0x58
+  1fbef0:	1944		add	r4, r0, r5
+  1fbef2:	1c20		add	r0, r4, #0
+  1fbef4:	21fe		mov	r1, #254	; 0xfe
+  1fbef6:	2201		mov	r2, #1
+  1fbef8:	0252		lsl	r2, r2, #9
+  1fbefa:	f059 ffd5	bl	0x255ea8
+  1fbefe:	9400		str	r4, [sp, #0]
+  1fbf00:	2001		mov	r0, #1
+  1fbf02:	0240		lsl	r0, r0, #9
+  1fbf04:	9001		str	r0, [sp, #4]
+  1fbf06:	1c28		add	r0, r5, #0
+  1fbf08:	a125		add	r1, pc, #148	; 0x94
+  1fbf0a:	4a3f		ldr	r2, =0x22d8a7	; via 0x1fc008
+  1fbf0c:	2302		mov	r3, #2
+  1fbf0e:	f05a fb3b	bl	0x256588
+  1fbf12:	4c27		ldr	r4, =0xffd001a8	; via 0x1fbfb0
+  1fbf14:	483d		ldr	r0, =0x83cdf1	; via 0x1fc00c
+  1fbf16:	7800		ldrb	r0, [r0, #0]
+  1fbf18:	2800		cmp	r0, #0
+  1fbf1a:	d108		bne	0x1fbf2e
+  1fbf1c:	20ff		mov	r0, #255	; 0xff
+  1fbf1e:	30dd		add	r0, #221	; 0xdd
+  1fbf20:	1900		add	r0, r0, r4
+  1fbf22:	2100		mov	r1, #0
+  1fbf24:	2200		mov	r2, #0
+  1fbf26:	2301		mov	r3, #1
+  1fbf28:	f05a fbb6	bl	0x256698
+  1fbf2c:	e007		b	0x1fbf3e
+  1fbf2e:	20ff		mov	r0, #255	; 0xff
+  1fbf30:	30dd		add	r0, #221	; 0xdd
+  1fbf32:	1900		add	r0, r0, r4
+  1fbf34:	2105		mov	r1, #5
+  1fbf36:	2205		mov	r2, #5
+  1fbf38:	2301		mov	r3, #1
+  1fbf3a:	f05a fbad	bl	0x256698
+  1fbf3e:	48f6		ldr	r0, =0x83cdb4	; via 0x1fc318
+  1fbf40:	2196		mov	r1, #150	; 0x96
+  1fbf42:	5a09		ldrh	r1, [r1, r0]
+  1fbf44:	8121		strh	r1, [r4, #8]
+  1fbf46:	2198		mov	r1, #152	; 0x98
+  1fbf48:	5a09		ldrh	r1, [r1, r0]
+  1fbf4a:	8661		strh	r1, [r4, #50]	; 0x32
+  1fbf4c:	219a		mov	r1, #154	; 0x9a
+  1fbf4e:	5a09		ldrh	r1, [r1, r0]
+  1fbf50:	86a1		strh	r1, [r4, #52]	; 0x34
+  1fbf52:	219c		mov	r1, #156	; 0x9c
+  1fbf54:	5a09		ldrh	r1, [r1, r0]
+  1fbf56:	86e1		strh	r1, [r4, #54]	; 0x36
+  1fbf58:	4a2d		ldr	r2, =0xffd001e8	; via 0x1fc010
+  1fbf5a:	219e		mov	r1, #158	; 0x9e
+  1fbf5c:	5a09		ldrh	r1, [r1, r0]
+  1fbf5e:	80d1		strh	r1, [r2, #6]
+  1fbf60:	21a0		mov	r1, #160	; 0xa0
+  1fbf62:	5a09		ldrh	r1, [r1, r0]
+  1fbf64:	8621		strh	r1, [r4, #48]	; 0x30
+  1fbf66:	21a2		mov	r1, #162	; 0xa2
+  1fbf68:	5a09		ldrh	r1, [r1, r0]
+  1fbf6a:	8761		strh	r1, [r4, #58]	; 0x3a
+  1fbf6c:	21a4		mov	r1, #164	; 0xa4
+  1fbf6e:	5a09		ldrh	r1, [r1, r0]
+  1fbf70:	87a1		strh	r1, [r4, #60]	; 0x3c
+  1fbf72:	21a6		mov	r1, #166	; 0xa6
+  1fbf74:	5a09		ldrh	r1, [r1, r0]
+  1fbf76:	87e1		strh	r1, [r4, #62]	; 0x3e
+  1fbf78:	21a8		mov	r1, #168	; 0xa8
+  1fbf7a:	5a09		ldrh	r1, [r1, r0]
+  1fbf7c:	8011		strh	r1, [r2, #0]
+  1fbf7e:	21aa		mov	r1, #170	; 0xaa
+  1fbf80:	5a09		ldrh	r1, [r1, r0]
+  1fbf82:	8051		strh	r1, [r2, #2]
+  1fbf84:	21ac		mov	r1, #172	; 0xac
+  1fbf86:	5a09		ldrh	r1, [r1, r0]
+  1fbf88:	8091		strh	r1, [r2, #4]
+  1fbf8a:	21ae		mov	r1, #174	; 0xae
+  1fbf8c:	5a09		ldrh	r1, [r1, r0]
+  1fbf8e:	85e1		strh	r1, [r4, #46]	; 0x2e
+  1fbf90:	21b0		mov	r1, #176	; 0xb0
+  1fbf92:	5a09		ldrh	r1, [r1, r0]
+  1fbf94:	8721		strh	r1, [r4, #56]	; 0x38
+  1fbf96:	21b2		mov	r1, #178	; 0xb2
+  1fbf98:	5a08		ldrh	r0, [r1, r0]
+  1fbf9a:	85a0		strh	r0, [r4, #44]	; 0x2c
+  1fbf9c:	b00a		add	sp, #40	; 0x28
+  1fbf9e:	bd30		pop	{r4, r5, pc}
+
+$l1_initialize_var:
+  1fc014:	b5f0		push	{r4, r5, r6, r7, lr}
+  1fc016:	4640		mov	r0, r8
+  1fc018:	b401		push	{r0}
+  1fc01a:	2700		mov	r7, #0
+  1fc01c:	0638		lsl	r0, r7, #24
+  1fc01e:	0e00		lsr	r0, r0, #24
+  1fc020:	4cf6		ldr	r4, =0x83c738	; via 0x1fc3fc
+  1fc022:	215e		mov	r1, #94	; 0x5e
+  1fc024:	5508		strb	r0, [r1, r4]
+  1fc026:	215f		mov	r1, #95	; 0x5f
+  1fc028:	5508		strb	r0, [r1, r4]
+  1fc02a:	6627		str	r7, [r4, #96]	; 0x60
+  1fc02c:	2164		mov	r1, #100	; 0x64
+  1fc02e:	5508		strb	r0, [r1, r4]
+  1fc030:	66a7		str	r7, [r4, #104]	; 0x68
+  1fc032:	215d		mov	r1, #93	; 0x5d
+  1fc034:	5508		strb	r0, [r1, r4]
+  1fc036:	7260		strb	r0, [r4, #9]
+  1fc038:	205c		mov	r0, #92	; 0x5c
+  1fc03a:	5507		strb	r7, [r0, r4]
+  1fc03c:	2002		mov	r0, #2
+  1fc03e:	4680		mov	r8, r0
+  1fc040:	7220		strb	r0, [r4, #8]
+  1fc042:	48fb		ldr	r0, =0x83ce6c	; via 0x1fc430
+  1fc044:	c803		ldmia	r0!, {r0, r1}
+  1fc046:	a2ee		add	r2, pc, #952	; 0x3b8
+  1fc048:	ca0c		ldmia	r2!, {r2, r3}
+  1fc04a:	f055 fced	bl	0x251a28
+  1fc04e:	1c05		add	r5, r0, #0
+  1fc050:	1c0e		add	r6, r1, #0
+  1fc052:	a2ed		add	r2, pc, #948	; 0x3b4
+  1fc054:	ca0c		ldmia	r2!, {r2, r3}
+  1fc056:	f053 ffb9	bl	0x24ffcc
+  1fc05a:	f058 fd3f	bl	0x254adc
+  1fc05e:	66e0		str	r0, [r4, #108]	; 0x6c
+  1fc060:	f059 f922	bl	0x2552a8
+  1fc064:	a2e8		add	r2, pc, #928	; 0x3a0
+  1fc066:	ca0c		ldmia	r2!, {r2, r3}
+  1fc068:	f055 fcde	bl	0x251a28
+  1fc06c:	1c02		add	r2, r0, #0
+  1fc06e:	1c0b		add	r3, r1, #0
+  1fc070:	1c28		add	r0, r5, #0
+  1fc072:	1c31		add	r1, r6, #0
+  1fc074:	f051 fe3a	bl	0x24dcec
+  1fc078:	a2e5		add	r2, pc, #916	; 0x394
+  1fc07a:	ca0c		ldmia	r2!, {r2, r3}
+  1fc07c:	f055 fcd4	bl	0x251a28
+  1fc080:	f058 fd2c	bl	0x254adc
+  1fc084:	f059 f910	bl	0x2552a8
+  1fc088:	a2df		add	r2, pc, #892	; 0x37c
+  1fc08a:	ca0c		ldmia	r2!, {r2, r3}
+  1fc08c:	f053 ff9e	bl	0x24ffcc
+  1fc090:	f058 fd24	bl	0x254adc
+  1fc094:	6720		str	r0, [r4, #112]	; 0x70
+  1fc096:	1c28		add	r0, r5, #0
+  1fc098:	1c31		add	r1, r6, #0
+  1fc09a:	a2df		add	r2, pc, #892	; 0x37c
+  1fc09c:	ca0c		ldmia	r2!, {r2, r3}
+  1fc09e:	f053 ff95	bl	0x24ffcc
+  1fc0a2:	f058 fd1b	bl	0x254adc
+  1fc0a6:	6760		str	r0, [r4, #116]	; 0x74
+  1fc0a8:	f059 f8fe	bl	0x2552a8
+  1fc0ac:	a2da		add	r2, pc, #872	; 0x368
+  1fc0ae:	ca0c		ldmia	r2!, {r2, r3}
+  1fc0b0:	f055 fcba	bl	0x251a28
+  1fc0b4:	1c02		add	r2, r0, #0
+  1fc0b6:	1c0b		add	r3, r1, #0
+  1fc0b8:	1c28		add	r0, r5, #0
+  1fc0ba:	1c31		add	r1, r6, #0
+  1fc0bc:	f051 fe16	bl	0x24dcec
+  1fc0c0:	a2d3		add	r2, pc, #844	; 0x34c
+  1fc0c2:	ca0c		ldmia	r2!, {r2, r3}
+  1fc0c4:	f055 fcb0	bl	0x251a28
+  1fc0c8:	f058 fd08	bl	0x254adc
+  1fc0cc:	f059 f8ec	bl	0x2552a8
+  1fc0d0:	a2d1		add	r2, pc, #836	; 0x344
+  1fc0d2:	ca0c		ldmia	r2!, {r2, r3}
+  1fc0d4:	f053 ff7a	bl	0x24ffcc
+  1fc0d8:	f058 fd00	bl	0x254adc
+  1fc0dc:	67a0		str	r0, [r4, #120]	; 0x78
+  1fc0de:	1c28		add	r0, r5, #0
+  1fc0e0:	1c31		add	r1, r6, #0
+  1fc0e2:	a2cf		add	r2, pc, #828	; 0x33c
+  1fc0e4:	ca0c		ldmia	r2!, {r2, r3}
+  1fc0e6:	f055 fc9f	bl	0x251a28
+  1fc0ea:	f058 fcf7	bl	0x254adc
+  1fc0ee:	67e0		str	r0, [r4, #124]	; 0x7c
+  1fc0f0:	1c28		add	r0, r5, #0
+  1fc0f2:	1c31		add	r1, r6, #0
+  1fc0f4:	a2cc		add	r2, pc, #816	; 0x330
+  1fc0f6:	ca0c		ldmia	r2!, {r2, r3}
+  1fc0f8:	f055 fc96	bl	0x251a28
+  1fc0fc:	f058 fcee	bl	0x254adc
+  1fc100:	2180		mov	r1, #128	; 0x80
+  1fc102:	5108		str	r0, [r1, r4]
+  1fc104:	2084		mov	r0, #132	; 0x84
+  1fc106:	5107		str	r7, [r0, r4]
+  1fc108:	2200		mov	r2, #0
+  1fc10a:	00d0		lsl	r0, r2, #3
+  1fc10c:	1820		add	r0, r4, r0
+  1fc10e:	3088		add	r0, #136	; 0x88
+  1fc110:	7007		strb	r7, [r0, #0]
+  1fc112:	4641		mov	r1, r8
+  1fc114:	7041		strb	r1, [r0, #1]
+  1fc116:	1c50		add	r0, r2, #1
+  1fc118:	0600		lsl	r0, r0, #24
+  1fc11a:	0e02		lsr	r2, r0, #24
+  1fc11c:	2a2e		cmp	r2, #46	; 0x2e
+  1fc11e:	dbf4		blt	0x1fc10a
+  1fc120:	20ff		mov	r0, #255	; 0xff
+  1fc122:	30f9		add	r0, #249	; 0xf9
+  1fc124:	5507		strb	r7, [r0, r4]
+  1fc126:	20ff		mov	r0, #255	; 0xff
+  1fc128:	30fa		add	r0, #250	; 0xfa
+  1fc12a:	5507		strb	r7, [r0, r4]
+  1fc12c:	20ff		mov	r0, #255	; 0xff
+  1fc12e:	30fb		add	r0, #251	; 0xfb
+  1fc130:	5507		strb	r7, [r0, r4]
+  1fc132:	20ff		mov	r0, #255	; 0xff
+  1fc134:	30fd		add	r0, #253	; 0xfd
+  1fc136:	1900		add	r0, r0, r4
+  1fc138:	f059 ff36	bl	0x255fa8
+  1fc13c:	4d76		ldr	r5, =0x83cdb4	; via 0x1fc318
+  1fc13e:	2029		mov	r0, #41	; 0x29
+  1fc140:	0141		lsl	r1, r0, #5
+  1fc142:	2074		mov	r0, #116	; 0x74
+  1fc144:	5f40		ldrsh	r0, [r0, r5]
+  1fc146:	10c0		asr	r0, r0, #3
+  1fc148:	5308		strh	r0, [r1, r4]
+  1fc14a:	48ba		ldr	r0, =0x51c	; via 0x1fc434
+  1fc14c:	5107		str	r7, [r0, r4]
+  1fc14e:	48ba		ldr	r0, =0x522	; via 0x1fc438
+  1fc150:	2180		mov	r1, #128	; 0x80
+  1fc152:	5301		strh	r1, [r0, r4]
+  1fc154:	48b9		ldr	r0, =0x524	; via 0x1fc43c
+  1fc156:	5507		strb	r7, [r0, r4]
+  1fc158:	48b9		ldr	r0, =0x526	; via 0x1fc440
+  1fc15a:	5307		strh	r7, [r0, r4]
+  1fc15c:	20a5		mov	r0, #165	; 0xa5
+  1fc15e:	00c0		lsl	r0, r0, #3
+  1fc160:	5507		strb	r7, [r0, r4]
+  1fc162:	48b8		ldr	r0, =0x52a	; via 0x1fc444
+  1fc164:	5307		strh	r7, [r0, r4]
+  1fc166:	48b8		ldr	r0, =0x52c	; via 0x1fc448
+  1fc168:	5307		strh	r7, [r0, r4]
+  1fc16a:	20a7		mov	r0, #167	; 0xa7
+  1fc16c:	00c0		lsl	r0, r0, #3
+  1fc16e:	5507		strb	r7, [r0, r4]
+  1fc170:	2053		mov	r0, #83	; 0x53
+  1fc172:	0100		lsl	r0, r0, #4
+  1fc174:	5107		str	r7, [r0, r4]
+  1fc176:	48b5		ldr	r0, =0x534	; via 0x1fc44c
+  1fc178:	5307		strh	r7, [r0, r4]
+  1fc17a:	48b5		ldr	r0, =0x536	; via 0x1fc450
+  1fc17c:	5507		strb	r7, [r0, r4]
+  1fc17e:	48b5		ldr	r0, =0x537	; via 0x1fc454
+  1fc180:	5507		strb	r7, [r0, r4]
+  1fc182:	48b5		ldr	r0, =0x539	; via 0x1fc458
+  1fc184:	5507		strb	r7, [r0, r4]
+  1fc186:	48b5		ldr	r0, =0x53c	; via 0x1fc45c
+  1fc188:	5107		str	r7, [r0, r4]
+  1fc18a:	2055		mov	r0, #85	; 0x55
+  1fc18c:	0100		lsl	r0, r0, #4
+  1fc18e:	5507		strb	r7, [r0, r4]
+  1fc190:	20a9		mov	r0, #169	; 0xa9
+  1fc192:	00c0		lsl	r0, r0, #3
+  1fc194:	5107		str	r7, [r0, r4]
+  1fc196:	48b2		ldr	r0, =0x54c	; via 0x1fc460
+  1fc198:	5307		strh	r7, [r0, r4]
+  1fc19a:	48b2		ldr	r0, =0x54e	; via 0x1fc464
+  1fc19c:	5507		strb	r7, [r0, r4]
+  1fc19e:	48b2		ldr	r0, =0x54f	; via 0x1fc468
+  1fc1a0:	5507		strb	r7, [r0, r4]
+  1fc1a2:	48b2		ldr	r0, =0x551	; via 0x1fc46c
+  1fc1a4:	5507		strb	r7, [r0, r4]
+  1fc1a6:	48b2		ldr	r0, =0x554	; via 0x1fc470
+  1fc1a8:	5107		str	r7, [r0, r4]
+  1fc1aa:	48b2		ldr	r0, =0x544	; via 0x1fc474
+  1fc1ac:	5107		str	r7, [r0, r4]
+  1fc1ae:	48b2		ldr	r0, =0x55c	; via 0x1fc478
+  1fc1b0:	5107		str	r7, [r0, r4]
+  1fc1b2:	202b		mov	r0, #43	; 0x2b
+  1fc1b4:	0140		lsl	r0, r0, #5
+  1fc1b6:	1900		add	r0, r0, r4
+  1fc1b8:	21a9		mov	r1, #169	; 0xa9
+  1fc1ba:	00c9		lsl	r1, r1, #3
+  1fc1bc:	1909		add	r1, r1, r4
+  1fc1be:	2218		mov	r2, #24	; 0x18
+  1fc1c0:	f059 fc72	bl	0x255aa8
+  1fc1c4:	202b		mov	r0, #43	; 0x2b
+  1fc1c6:	0140		lsl	r0, r0, #5
+  1fc1c8:	1900		add	r0, r0, r4
+  1fc1ca:	2101		mov	r1, #1
+  1fc1cc:	f059 fedc	bl	0x255f88
+  1fc1d0:	48aa		ldr	r0, =0x665	; via 0x1fc47c
+  1fc1d2:	5507		strb	r7, [r0, r4]
+  1fc1d4:	20af		mov	r0, #175	; 0xaf
+  1fc1d6:	00c0		lsl	r0, r0, #3
+  1fc1d8:	5507		strb	r7, [r0, r4]
+  1fc1da:	48a9		ldr	r0, =0x579	; via 0x1fc480
+  1fc1dc:	5507		strb	r7, [r0, r4]
+  1fc1de:	48a9		ldr	r0, =0x57a	; via 0x1fc484
+  1fc1e0:	5507		strb	r7, [r0, r4]
+  1fc1e2:	48a9		ldr	r0, =0x57c	; via 0x1fc488
+  1fc1e4:	5107		str	r7, [r0, r4]
+  1fc1e6:	200b		mov	r0, #11	; 0xb
+  1fc1e8:	01c0		lsl	r0, r0, #7
+  1fc1ea:	5307		strh	r7, [r0, r4]
+  1fc1ec:	48a7		ldr	r0, =0x664	; via 0x1fc48c
+  1fc1ee:	21ff		mov	r1, #255	; 0xff
+  1fc1f0:	5501		strb	r1, [r0, r4]
+  1fc1f2:	48a7		ldr	r0, =0x584	; via 0x1fc490
+  1fc1f4:	5307		strh	r7, [r0, r4]
+  1fc1f6:	48a7		ldr	r0, =0x586	; via 0x1fc494
+  1fc1f8:	5307		strh	r7, [r0, r4]
+  1fc1fa:	20b1		mov	r0, #177	; 0xb1
+  1fc1fc:	00c0		lsl	r0, r0, #3
+  1fc1fe:	5307		strh	r7, [r0, r4]
+  1fc200:	49a5		ldr	r1, =0x58a	; via 0x1fc498
+  1fc202:	48a6		ldr	r0, =0x1379	; via 0x1fc49c
+  1fc204:	5308		strh	r0, [r1, r4]
+  1fc206:	49a6		ldr	r1, =0x58c	; via 0x1fc4a0
+  1fc208:	20ff		mov	r0, #255	; 0xff
+  1fc20a:	3021		add	r0, #33	; 0x21
+  1fc20c:	5308		strh	r0, [r1, r4]
+  1fc20e:	49a5		ldr	r1, =0x58e	; via 0x1fc4a4
+  1fc210:	48a5		ldr	r0, =0x404	; via 0x1fc4a8
+  1fc212:	5308		strh	r0, [r1, r4]
+  1fc214:	49a5		ldr	r1, =0x1075f74	; via 0x1fc4ac
+  1fc216:	2229		mov	r2, #41	; 0x29
+  1fc218:	1c08		add	r0, r1, #0
+  1fc21a:	62c7		str	r7, [r0, #44]	; 0x2c
+  1fc21c:	700f		strb	r7, [r1, #0]
+  1fc21e:	3004		add	r0, #4
+  1fc220:	3101		add	r1, #1
+  1fc222:	3a01		sub	r2, #1
+  1fc224:	2a00		cmp	r2, #0
+  1fc226:	d1f8		bne	0x1fc21a
+  1fc228:	48a0		ldr	r0, =0x1075f74	; via 0x1fc4ac
+  1fc22a:	21d0		mov	r1, #208	; 0xd0
+  1fc22c:	540f		strb	r7, [r1, r0]
+  1fc22e:	4ca0		ldr	r4, =0x83cef0	; via 0x1fc4b0
+  1fc230:	49a0		ldr	r1, =0xc48	; via 0x1fc4b4
+  1fc232:	2001		mov	r0, #1
+  1fc234:	5508		strb	r0, [r1, r4]
+  1fc236:	48a0		ldr	r0, =0xc44	; via 0x1fc4b8
+  1fc238:	5107		str	r7, [r0, r4]
+  1fc23a:	1c20		add	r0, r4, #0
+  1fc23c:	f010 febe	bl	0x20cfbc
+  1fc240:	6367		str	r7, [r4, #52]	; 0x34
+  1fc242:	63a7		str	r7, [r4, #56]	; 0x38
+  1fc244:	63e7		str	r7, [r4, #60]	; 0x3c
+  1fc246:	6427		str	r7, [r4, #64]	; 0x40
+  1fc248:	6467		str	r7, [r4, #68]	; 0x44
+  1fc24a:	64a7		str	r7, [r4, #72]	; 0x48
+  1fc24c:	204c		mov	r0, #76	; 0x4c
+  1fc24e:	5507		strb	r7, [r0, r4]
+  1fc250:	2155		mov	r1, #85	; 0x55
+  1fc252:	2070		mov	r0, #112	; 0x70
+  1fc254:	5d40		ldrb	r0, [r0, r5]
+  1fc256:	5508		strb	r0, [r1, r4]
+  1fc258:	2059		mov	r0, #89	; 0x59
+  1fc25a:	2170		mov	r1, #112	; 0x70
+  1fc25c:	5d49		ldrb	r1, [r1, r5]
+  1fc25e:	5501		strb	r1, [r0, r4]
+  1fc260:	205d		mov	r0, #93	; 0x5d
+  1fc262:	2170		mov	r1, #112	; 0x70
+  1fc264:	5d49		ldrb	r1, [r1, r5]
+  1fc266:	5501		strb	r1, [r0, r4]
+  1fc268:	2054		mov	r0, #84	; 0x54
+  1fc26a:	5507		strb	r7, [r0, r4]
+  1fc26c:	2058		mov	r0, #88	; 0x58
+  1fc26e:	5507		strb	r7, [r0, r4]
+  1fc270:	205c		mov	r0, #92	; 0x5c
+  1fc272:	5507		strb	r7, [r0, r4]
+  1fc274:	20b8		mov	r0, #184	; 0xb8
+  1fc276:	5507		strb	r7, [r0, r4]
+  1fc278:	20b9		mov	r0, #185	; 0xb9
+  1fc27a:	5507		strb	r7, [r0, r4]
+  1fc27c:	21ba		mov	r1, #186	; 0xba
+  1fc27e:	4640		mov	r0, r8
+  1fc280:	5508		strb	r0, [r1, r4]
+  1fc282:	2060		mov	r0, #96	; 0x60
+  1fc284:	5507		strb	r7, [r0, r4]
+  1fc286:	208c		mov	r0, #140	; 0x8c
+  1fc288:	5507		strb	r7, [r0, r4]
+  1fc28a:	20d7		mov	r0, #215	; 0xd7
+  1fc28c:	00c0		lsl	r0, r0, #3
+  1fc28e:	5507		strb	r7, [r0, r4]
+  1fc290:	488a		ldr	r0, =0x737	; via 0x1fc4bc
+  1fc292:	5507		strb	r7, [r0, r4]
+  1fc294:	498a		ldr	r1, =0x83d628	; via 0x1fc4c0
+  1fc296:	488b		ldr	r0, =0x83d5ac	; via 0x1fc4c4
+  1fc298:	2206		mov	r2, #6
+  1fc29a:	7007		strb	r7, [r0, #0]
+  1fc29c:	700f		strb	r7, [r1, #0]
+  1fc29e:	3014		add	r0, #20	; 0x14
+  1fc2a0:	3114		add	r1, #20	; 0x14
+  1fc2a2:	3a01		sub	r2, #1
+  1fc2a4:	2a00		cmp	r2, #0
+  1fc2a6:	d1f8		bne	0x1fc29a
+  1fc2a8:	4c81		ldr	r4, =0x83cef0	; via 0x1fc4b0
+  1fc2aa:	2033		mov	r0, #51	; 0x33
+  1fc2ac:	0100		lsl	r0, r0, #4
+  1fc2ae:	5307		strh	r7, [r0, r4]
+  1fc2b0:	4885		ldr	r0, =0x335	; via 0x1fc4c8
+  1fc2b2:	5507		strb	r7, [r0, r4]
+  1fc2b4:	4885		ldr	r0, =0x336	; via 0x1fc4cc
+  1fc2b6:	5507		strb	r7, [r0, r4]
+  1fc2b8:	2067		mov	r0, #103	; 0x67
+  1fc2ba:	00c1		lsl	r1, r0, #3
+  1fc2bc:	2000		mov	r0, #0
+  1fc2be:	5108		str	r0, [r1, r4]
+  1fc2c0:	21cf		mov	r1, #207	; 0xcf
+  1fc2c2:	0089		lsl	r1, r1, #2
+  1fc2c4:	5108		str	r0, [r1, r4]
+  1fc2c6:	4882		ldr	r0, =0x6a4	; via 0x1fc4d0
+  1fc2c8:	5107		str	r7, [r0, r4]
+  1fc2ca:	20d5		mov	r0, #213	; 0xd5
+  1fc2cc:	00c0		lsl	r0, r0, #3
+  1fc2ce:	5507		strb	r7, [r0, r4]
+  1fc2d0:	4880		ldr	r0, =0x6a9	; via 0x1fc4d4
+  1fc2d2:	5507		strb	r7, [r0, r4]
+  1fc2d4:	4880		ldr	r0, =0x6aa	; via 0x1fc4d8
+  1fc2d6:	5307		strh	r7, [r0, r4]
+  1fc2d8:	4880		ldr	r0, =0x6ac	; via 0x1fc4dc
+  1fc2da:	5307		strh	r7, [r0, r4]
+  1fc2dc:	4880		ldr	r0, =0x6ae	; via 0x1fc4e0
+  1fc2de:	5307		strh	r7, [r0, r4]
+  1fc2e0:	206b		mov	r0, #107	; 0x6b
+  1fc2e2:	0100		lsl	r0, r0, #4
+  1fc2e4:	5507		strb	r7, [r0, r4]
+  1fc2e6:	487f		ldr	r0, =0x6b1	; via 0x1fc4e4
+  1fc2e8:	5507		strb	r7, [r0, r4]
+  1fc2ea:	487f		ldr	r0, =0x6b2	; via 0x1fc4e8
+  1fc2ec:	5507		strb	r7, [r0, r4]
+  1fc2ee:	f010 fd42	bl	0x20cd76
+  1fc2f2:	f010 fd11	bl	0x20cd18
+  1fc2f6:	487d		ldr	r0, =0x958	; via 0x1fc4ec
+  1fc2f8:	5507		strb	r7, [r0, r4]
+  1fc2fa:	f044 faca	bl	0x240892
+  1fc2fe:	487c		ldr	r0, =0xc16	; via 0x1fc4f0
+  1fc300:	1900		add	r0, r0, r4
+  1fc302:	497c		ldr	r1, =0xbe8	; via 0x1fc4f4
+  1fc304:	190a		add	r2, r1, r4
+  1fc306:	212e		mov	r1, #46	; 0x2e
+  1fc308:	7017		strb	r7, [r2, #0]
+  1fc30a:	7007		strb	r7, [r0, #0]
+  1fc30c:	3201		add	r2, #1
+  1fc30e:	3001		add	r0, #1
+  1fc310:	3901		sub	r1, #1
+  1fc312:	2900		cmp	r1, #0
+  1fc314:	d1f8		bne	0x1fc308
+  1fc316:	e001		b	0x1fc31c
+
+  1fc318:	0083cdb4
+
+  1fc31c:	4876		ldr	r0, =0xc4c	; via 0x1fc4f8
+  1fc31e:	5107		str	r7, [r0, r4]
+  1fc320:	20c5		mov	r0, #197	; 0xc5
+  1fc322:	0100		lsl	r0, r0, #4
+  1fc324:	5107		str	r7, [r0, r4]
+  1fc326:	4975		ldr	r1, =0xc54	; via 0x1fc4fc
+  1fc328:	2001		mov	r0, #1
+  1fc32a:	5108		str	r0, [r1, r4]
+  1fc32c:	4874		ldr	r0, =0xc58	; via 0x1fc500
+  1fc32e:	5107		str	r7, [r0, r4]
+  1fc330:	4874		ldr	r0, =0xc5c	; via 0x1fc504
+  1fc332:	5507		strb	r7, [r0, r4]
+  1fc334:	2063		mov	r0, #99	; 0x63
+  1fc336:	0140		lsl	r0, r0, #5
+  1fc338:	1903		add	r3, r0, r4
+  1fc33a:	4873		ldr	r0, =0xc61	; via 0x1fc508
+  1fc33c:	1900		add	r0, r0, r4
+  1fc33e:	4973		ldr	r1, =0x83cdb4	; via 0x1fc50c
+  1fc340:	2270		mov	r2, #112	; 0x70
+  1fc342:	5c52		ldrb	r2, [r2, r1]
+  1fc344:	6949		ldr	r1, [r1, #20]	; 0x14
+  1fc346:	1c49		add	r1, r1, #1
+  1fc348:	7002		strb	r2, [r0, #0]
+  1fc34a:	701f		strb	r7, [r3, #0]
+  1fc34c:	3004		add	r0, #4
+  1fc34e:	3304		add	r3, #4
+  1fc350:	3901		sub	r1, #1
+  1fc352:	2900		cmp	r1, #0
+  1fc354:	d1f8		bne	0x1fc348
+  1fc356:	f034 f843	bl	0x2303e0
+  1fc35a:	f6cb faba	bl	0xc78d2
+  1fc35e:	bc01		pop	{r0}
+  1fc360:	4680		mov	r8, r0
+  1fc362:	bdf0		pop	{r4, r5, r6, r7, pc}
+
+$l1_initialize:
+  1fc364:	b570		push	{r4, r5, r6, lr}
+  1fc366:	1c05		add	r5, r0, #0
+  1fc368:	f051 f908	bl	0x24d57c
+  1fc36c:	4c67		ldr	r4, =0x83cdb4	; via 0x1fc50c
+  1fc36e:	7828		ldrb	r0, [r5, #0]
+  1fc370:	7020		strb	r0, [r4, #0]
+  1fc372:	213d		mov	r1, #61	; 0x3d
+  1fc374:	7928		ldrb	r0, [r5, #4]
+  1fc376:	5508		strb	r0, [r1, r4]
+  1fc378:	88e8		ldrh	r0, [r5, #6]
+  1fc37a:	87e0		strh	r0, [r4, #62]	; 0x3e
+  1fc37c:	20c0		mov	r0, #192	; 0xc0
+  1fc37e:	2100		mov	r1, #0
+  1fc380:	5501		strb	r1, [r0, r4]
+  1fc382:	21c1		mov	r1, #193	; 0xc1
+  1fc384:	2001		mov	r0, #1
+  1fc386:	5508		strb	r0, [r1, r4]
+  1fc388:	21c2		mov	r1, #194	; 0xc2
+  1fc38a:	5508		strb	r0, [r1, r4]
+  1fc38c:	21c3		mov	r1, #195	; 0xc3
+  1fc38e:	5508		strb	r0, [r1, r4]
+  1fc390:	481a		ldr	r0, =0x83c738	; via 0x1fc3fc
+  1fc392:	7a29		ldrb	r1, [r5, #8]
+  1fc394:	7001		strb	r1, [r0, #0]
+  1fc396:	68e9		ldr	r1, [r5, #12]	; 0xc
+  1fc398:	6041		str	r1, [r0, #4]
+  1fc39a:	203c		mov	r0, #60	; 0x3c
+  1fc39c:	78e9		ldrb	r1, [r5, #3]
+  1fc39e:	5501		strb	r1, [r0, r4]
+  1fc3a0:	f05a f96a	bl	0x256678	; $Cust_init_std ?
+  1fc3a4:	f05a f970	bl	0x256688	; $Cust_init_params ?
+; inline code corresponding to l1_dpll_init_var()
+  1fc3a8:	4859		ldr	r0, =0xffff9800	; via 0x1fc510
+  1fc3aa:	8801		ldrh	r1, [r0, #0]
+  1fc3ac:	0949		lsr	r1, r1, #5
+  1fc3ae:	0789		lsl	r1, r1, #30
+  1fc3b0:	0f89		lsr	r1, r1, #30
+  1fc3b2:	0409		lsl	r1, r1, #16
+  1fc3b4:	0c0a		lsr	r2, r1, #16
+  1fc3b6:	8800		ldrh	r0, [r0, #0]
+  1fc3b8:	09c0		lsr	r0, r0, #7
+  1fc3ba:	06c0		lsl	r0, r0, #27
+  1fc3bc:	0ec0		lsr	r0, r0, #27
+  1fc3be:	0400		lsl	r0, r0, #16
+  1fc3c0:	0c00		lsr	r0, r0, #16
+  1fc3c2:	f058 ff71	bl	0x2552a8
+  1fc3c6:	1c06		add	r6, r0, #0
+  1fc3c8:	1c0d		add	r5, r1, #0
+  1fc3ca:	1c50		add	r0, r2, #1
+  1fc3cc:	f058 fec2	bl	0x255154
+  1fc3d0:	1c02		add	r2, r0, #0
+  1fc3d2:	1c0b		add	r3, r1, #0
+  1fc3d4:	1c30		add	r0, r6, #0
+  1fc3d6:	1c29		add	r1, r5, #0
+  1fc3d8:	f053 fdf8	bl	0x24ffcc
+  1fc3dc:	34b8		add	r4, #184	; 0xb8
+  1fc3de:	c403		stmia	r4!, {r0, r1}
+  1fc3e0:	f059 ffd2	bl	0x256388	; $dsp_power_on ?
+  1fc3e4:	f7ff fd61	bl	0x1fbeaa	; $l1_abb_power_on
+  1fc3e8:	f7ff fd51	bl	0x1fbe8e	; $l1_tpu_init
+  1fc3ec:	f7ff fc98	bl	0x1fbd20	; $l1_dsp_init
+  1fc3f0:	f7ff fe10	bl	0x1fc014	; $l1_initialize_var
+  1fc3f4:	f059 ffa8	bl	0x256348	; $initialize_l1pvar ?
+  1fc3f8:	bd70		pop	{r4, r5, r6, pc}
+
 $Init_Target:
   2458f0:	b570		push	{r4, r5, r6, lr}
   2458f2:	b081		sub	sp, #4
@@ -934,10 +1704,16 @@
 
 IRAM code flash address = 0x20508
 IRAM code run start address = 0x800004
-IRAM code run end address   = 0x81944c
+IRAM code run end address   = 0x81944C
 
 Run address = load address + 0x7DFAFC
 
+IRAM trampolines flash address     =  0x155E8
+IRAM trampolines run start address = 0x83EDA4
+IRAM trampolines run end address   = 0x83F294
+
+Run address = load address + 0x8297BC
+
 $INC_Initialize:
   254654:	b530		push	{r4, r5, lr}
   254656:	1c05		add	r5, r0, #0
@@ -1057,6 +1833,22 @@
   25578e:	46c0		nop			(mov r8, r8)
   255790:	e8bd8000	ldmia	sp!, {pc}
 
+; $l1dmacro_init_hw_light call trampoline
+  256168:	b082		sub	sp, #8
+  25616a:	9400		str	r4, [sp, #0]
+  25616c:	4c01		ldr	r4, =0x813800	; via 0x256174
+  25616e:	9401		str	r4, [sp, #4]
+  256170:	bd10		pop	{r4, pc}
+  256172:	0000
+
+; $l1dmacro_init_hw call trampoline
+  256178:	b082		sub	sp, #8
+  25617a:	9400		str	r4, [sp, #0]
+  25617c:	4c01		ldr	r4, =0x81375c	; via 0x256184
+  25617e:	9401		str	r4, [sp, #4]
+  256180:	bd10		pop	{r4, pc}
+  256182:	0000
+
 ; $Cust_Init_Layer1 call trampoline
   2566f8:	b082		sub	sp, #8
   2566fa:	9400		str	r4, [sp, #0]
@@ -2639,6 +3431,125 @@
   812ab8:	b001		add	sp, #4
   812aba:	4770		bx	lr
 
+$l1dmacro_init_hw:
+  81375c:	b500		push	{lr}
+  81375e:	b081		sub	sp, #4
+  813760:	2064		mov	r0, #100	; 0x64
+  813762:	9000		str	r0, [sp, #0]
+  813764:	2001		mov	r0, #1
+  813766:	f000 f941	bl	0x8139ec
+  81376a:	2001		mov	r0, #1
+  81376c:	f000 f8f0	bl	0x813950
+  813770:	2000		mov	r0, #0
+  813772:	f000 f93b	bl	0x8139ec
+  813776:	493f		ldr	r1, =0x83c0a4	; via 0x813874
+  813778:	4845		ldr	r0, =0xffff9000	; via 0x813890
+  81377a:	6008		str	r0, [r1, #0]
+  81377c:	f000 f95e	bl	0x813a3c
+  813780:	4947		ldr	r1, =0x1388	; via 0x8138a0
+  813782:	9800		ldr	r0, [sp, #0]
+  813784:	1808		add	r0, r1, r0
+  813786:	f001 f8e9	bl	0x81495c
+  81378a:	2101		mov	r1, #1
+  81378c:	0349		lsl	r1, r1, #13
+  81378e:	4301		orr	r1, r0
+  813790:	4838		ldr	r0, =0x83c0a4	; via 0x813874
+  813792:	6802		ldr	r2, [r0, #0]
+  813794:	1c93		add	r3, r2, #2
+  813796:	6003		str	r3, [r0, #0]
+  813798:	8011		strh	r1, [r2, #0]
+  81379a:	4836		ldr	r0, =0x83c0a4	; via 0x813874
+  81379c:	6801		ldr	r1, [r0, #0]
+  81379e:	1c8a		add	r2, r1, #2
+  8137a0:	6002		str	r2, [r0, #0]
+  8137a2:	2003		mov	r0, #3
+  8137a4:	0340		lsl	r0, r0, #13
+  8137a6:	8008		strh	r0, [r1, #0]
+  8137a8:	4832		ldr	r0, =0x83c0a4	; via 0x813874
+  8137aa:	6801		ldr	r1, [r0, #0]
+  8137ac:	1c8a		add	r2, r1, #2
+  8137ae:	6002		str	r2, [r0, #0]
+  8137b0:	4838		ldr	r0, =0x8409	; via 0x813894
+  8137b2:	8008		strh	r0, [r1, #0]
+  8137b4:	482f		ldr	r0, =0x83c0a4	; via 0x813874
+  8137b6:	6801		ldr	r1, [r0, #0]
+  8137b8:	1c8a		add	r2, r1, #2
+  8137ba:	6002		str	r2, [r0, #0]
+  8137bc:	4836		ldr	r0, =0x80ca	; via 0x813898
+  8137be:	8008		strh	r0, [r1, #0]
+  8137c0:	492c		ldr	r1, =0x83c0a4	; via 0x813874
+  8137c2:	680a		ldr	r2, [r1, #0]
+  8137c4:	1c90		add	r0, r2, #2
+  8137c6:	6008		str	r0, [r1, #0]
+  8137c8:	4834		ldr	r0, =0x800b	; via 0x81389c
+  8137ca:	8010		strh	r0, [r2, #0]
+  8137cc:	207d		mov	r0, #125	; 0x7d
+  8137ce:	00c0		lsl	r0, r0, #3
+  8137d0:	9000		str	r0, [sp, #0]
+  8137d2:	9800		ldr	r0, [sp, #0]
+  8137d4:	f7fe fcb8	bl	0x812148	; $rf_init
+  8137d8:	9000		str	r0, [sp, #0]
+  8137da:	4931		ldr	r1, =0x1388	; via 0x8138a0
+  8137dc:	9800		ldr	r0, [sp, #0]
+  8137de:	1808		add	r0, r1, r0
+  8137e0:	f001 f8bc	bl	0x81495c
+  8137e4:	2101		mov	r1, #1
+  8137e6:	034a		lsl	r2, r1, #13
+  8137e8:	4302		orr	r2, r0
+  8137ea:	4922		ldr	r1, =0x83c0a4	; via 0x813874
+  8137ec:	6808		ldr	r0, [r1, #0]
+  8137ee:	1c83		add	r3, r0, #2
+  8137f0:	600b		str	r3, [r1, #0]
+  8137f2:	8002		strh	r2, [r0, #0]
+  8137f4:	f000 f922	bl	0x813a3c
+  8137f8:	b001		add	sp, #4
+  8137fa:	bd00		pop	{pc}
+
+  8137fc:	00008008
+
+$l1dmacro_init_hw_light:
+  813800:	b500		push	{lr}
+  813802:	b081		sub	sp, #4
+  813804:	2064		mov	r0, #100	; 0x64
+  813806:	9000		str	r0, [sp, #0]
+  813808:	491a		ldr	r1, =0x83c0a4	; via 0x813874
+  81380a:	4821		ldr	r0, =0xffff9000	; via 0x813890
+  81380c:	6008		str	r0, [r1, #0]
+  81380e:	4825		ldr	r0, =0x1388	; via 0x8138a4
+  813810:	9900		ldr	r1, [sp, #0]
+  813812:	1840		add	r0, r0, r1
+  813814:	4923		ldr	r1, =0x1388	; via 0x8138a4
+  813816:	f000 fa61	bl	0x813cdc
+  81381a:	2101		mov	r1, #1
+  81381c:	0349		lsl	r1, r1, #13
+  81381e:	4301		orr	r1, r0
+  813820:	4814		ldr	r0, =0x83c0a4	; via 0x813874
+  813822:	6802		ldr	r2, [r0, #0]
+  813824:	1c93		add	r3, r2, #2
+  813826:	6003		str	r3, [r0, #0]
+  813828:	8011		strh	r1, [r2, #0]
+  81382a:	207d		mov	r0, #125	; 0x7d
+  81382c:	00c0		lsl	r0, r0, #3
+  81382e:	9000		str	r0, [sp, #0]
+  813830:	9800		ldr	r0, [sp, #0]
+  813832:	f7fe fc89	bl	0x812148
+  813836:	9000		str	r0, [sp, #0]
+  813838:	491a		ldr	r1, =0x1388	; via 0x8138a4
+  81383a:	9800		ldr	r0, [sp, #0]
+  81383c:	1808		add	r0, r1, r0
+  81383e:	f000 fa4d	bl	0x813cdc
+  813842:	2101		mov	r1, #1
+  813844:	034a		lsl	r2, r1, #13
+  813846:	4302		orr	r2, r0
+  813848:	490a		ldr	r1, =0x83c0a4	; via 0x813874
+  81384a:	6808		ldr	r0, [r1, #0]
+  81384c:	1c83		add	r3, r0, #2
+  81384e:	600b		str	r3, [r1, #0]
+  813850:	8002		strh	r2, [r0, #0]
+  813852:	f000 f8f3	bl	0x813a3c
+  813856:	b001		add	sp, #4
+  813858:	bd00		pop	{pc}
+
 IRAM data:
 
 0x839ea8	rf structure
@@ -2653,4 +3564,13 @@
 0x83c0a0	rf_band 8-bit var
 0x83c0a1	rf_index 8-bit var
 0x83c0a4	TP_Ptr
+0x83c724	l1s_tpu_com structure
+0x83cda0	l1s_dsp_com structure
 0x83cdb4	l1_config structure
+
+; $l1_initialize call trampoline
+  83ef94:	b082		sub	sp, #8
+  83ef96:	9400		str	r4, [sp, #0]
+  83ef98:	4c01		ldr	r4, =0x1fc364	; via 0x83efa0
+  83ef9a:	9401		str	r4, [sp, #4]
+  83ef9c:	bd10		pop	{r4, pc}