Line 13: |
Line 13: |
| |- | | |- |
| | 0x00030140 | | | 0x00030140 |
− | | (u8 unk0, u8 unk1, u32 unk2, u32 offset, u8 unk3) ? (input offset = offset where the offset field is located in sharedmem, normally sharedmemsize-4) | + | | [[MICU:StartSampling|StartSampling]] |
| |- | | |- |
| | 0x00040040 | | | 0x00040040 |
− | | (u8 input) ? | + | | [[MICU:AdjustSampling|AdjustSampling]] |
| |- | | |- |
| | 0x00050000 | | | 0x00050000 |
− | | ? | + | | [[MICU:StopSampling|StopSampling]] |
| |- | | |- |
| | 0x00060000 | | | 0x00060000 |
− | | This writes an output u8 to cmdreply indexword[2]. val = *((u16*)0x1ec62000) >> 15. | + | | [[MICU:IsSampling|IsSampling]] |
| |- | | |- |
| | 0x00070000 | | | 0x00070000 |
− | | GetEventHandle. This event is signaled by MIC-module when more audio-data is available in shared-mem. | + | | [[MICU:GetEventHandle|GetEventHandle]] |
| |- | | |- |
| | 0x00080040 | | | 0x00080040 |
− | | SetControl(u8 input). This is a wrapper for CDCMIC command 0x00010040. | + | | [[MICU:SetGain|SetGain]] |
| |- | | |- |
| | 0x00090000 | | | 0x00090000 |
− | | GetControl. This is a wrapper for CDCMIC command 0x00020000. | + | | [[MICU:GetGain|GetGain]] |
| |- | | |- |
| | 0x000A0040 | | | 0x000A0040 |
− | | SetRecording(u8 input). This is a wrapper for CDCMIC command 0x00030040. 0 = disable recording, 1 = enable recording. When recording is disabled with this, MIC-module writes value 0xFFFF to the output audio sample data in shared-mem, since that's what the [[MIC]] hardware returns here. | + | | [[MICU:SetPower|SetPower]] |
| |- | | |- |
| | 0x000B0000 | | | 0x000B0000 |
− | | IsRecording. This is a wrapper for CDCMIC command 0x00040000. | + | | [[MICU:GetPower|GetPower]] |
| |- | | |- |
| | 0x000C0042 | | | 0x000C0042 |
− | | (size, [[IPC Command Structure|<translate-header>]], bufptr) This is a wrapper for CDCMIC command 0x00050042. | + | | [[MICU:SetIirFilterMic|SetIirFilterMic]] |
| |- | | |- |
| | 0x000D0040 | | | 0x000D0040 |
− | | (u8 input) This writes the input value to a MIC-module state field. | + | | [[MICU:SetClamp|SetClamp]] |
| |- | | |- |
| | 0x000E0000 | | | 0x000E0000 |
− | | This writes the u8 value of the MIC-module field also used by command 0x000D0040, to cmdreply indexword[2]. | + | | [[MICU:GetClamp|GetClamp]] |
| |- | | |- |
| | 0x000F0040 | | | 0x000F0040 |
− | | (u8 input) This writes the input u8 value to a MIC-module state field. | + | | [[MICU:SetAllowShellClosed|SetAllowShellClosed]] |
| |- | | |- |
| | 0x00100040 | | | 0x00100040 |
Line 59: |
Line 59: |
| Only one session can be open for this service total(that is, only one process can use this service at a time). | | Only one session can be open for this service total(that is, only one process can use this service at a time). |
| | | |
− | =Control value= | + | ==Encoding== |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Bit | + | ! Enum |
− | ! Description | + | ! Value |
| |- | | |- |
− | | 6-0 | + | | ENCODING_PCM8 |
− | | Amplification, 0=none. | + | | 0 |
| |- | | |- |
− | | 7 | + | | ENCODING_PCM16 |
− | | Doesn't affect output audio data in shared-mem? | + | | 1 |
| + | |- |
| + | | ENCODING_PCM8_SIGNED |
| + | | 2 |
| + | |- |
| + | | ENCODING_PCM16_SIGNED |
| + | | 3 |
| + | |} |
| + | |
| + | ==SampleRate== |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Enum |
| + | ! Value |
| + | |- |
| + | | SAMPLE_RATE_32730 |
| + | | 0 |
| + | |- |
| + | | SAMPLE_RATE_16360 |
| + | | 1 |
| + | |- |
| + | | SAMPLE_RATE_10910 |
| + | | 2 |
| + | |- |
| + | | SAMPLE_RATE_8180 |
| + | | 3 |
| |} | | |} |
| + | |
| + | |
| + | The actual accurate sampling rate can be calculated using <code>(16756991 / 512) / (SampleRate + 1)</code> where <code>SampleRate</code> is one of the above values. |
| | | |
| =See Also= | | =See Also= |
| [[MIC Shared Memory]] | | [[MIC Shared Memory]] |