FreeCalypso > hg > freecalypso-reveng
annotate compal/audio/reg-read-guide @ 392:35009c936a4a
compal/melody-extr: first attempt at actual melody extraction
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 01 Apr 2022 06:03:47 +0000 |
parents | 34490934ff02 |
children |
rev | line source |
---|---|
377
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 Here is an idea - what if we break into a running C139 phone fw with tfc139, |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 then run fc-loadtool as usual, but instead of operating on the flash, use |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 r16 and abbr commands inside fc-loadtool to read out various audio config |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 settings established by the official fw? Specifically use r16 to read out |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 some DSP API words (AEC and FIR blocks), and use abbr to read Iota ABB |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 registers dealing with audio. Why do we need to go this convoluted route |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 with tfc139 break-in followed by fc-loadtool, why not some easier way? |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 Answer: C139 and other C1xx firmwares don't have ETM (thus no r16 and |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 certainly no high-level aur operations), they do implement the old TM3 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 protocol which we use to break in, but their implementation of oabbr is |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 broken, returns garbage. |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 DSP NDB start address is 0xFFD001A8, contains AEC control words |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 d_aec_ctrl should be at 0xFFD001A8 + 0x90 = 0xFFD00238 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 the 8 words starting with d_cont_filter should be at |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 0xFFD001A8 + 0x6A2 = 0xFFD0084A |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 DSP PARAM start address is 0xFFD00862, contains FIR coefficients |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 UL FIR coefficients: 31 words starting at 0xFFD00862 + 0xA6 = 0xFFD00908 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 DL FIR coefficients: 31 words starting at 0xFFD00862 + 0xE4 = 0xFFD00946 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 Iota ABB registers of interest: |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 VBCTRL1: abbr 1 8 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 VBCTRL2: abbr 1 11 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 VBPOP: abbr 1 10 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 VBUCTRL: abbr 1 7 |
34490934ff02
compal/audio/reg-read-guide written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 VBDCTRL: abbr 0 6 |