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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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