Almost finished setup SPU

This commit is contained in:
Jaby
2022-09-02 18:05:21 +02:00
parent 73c70d98ba
commit 8ab74622a3
2 changed files with 85 additions and 10 deletions

View File

@@ -15,6 +15,14 @@ namespace SPU {
MainVolume::right.write(StartVol);
}
static void clear_cd_and_ext_audio_volume() {
CDVolume::left.write(0);
CDVolume::right.write(0);
ExternalAudioInputVolume::left.write(0);
ExternalAudioInputVolume::right.write(0);
}
static void clear_control_register() {
Control.write(ControlRegister());
}
@@ -33,18 +41,44 @@ namespace SPU {
}
}
static void clear_pmon() {
PMON.write(PitchModFlags());
}
static void clear_noise_and_echo() {
NON.write(NoiseGenerator());
EON.write(EchoOn());
}
static void clear_reverb() {
Reverb::Volume::left.write(0);
Reverb::Volume::right.write(0);
Reverb::work_area_adr.write(0);
}
static void setup_control_register() {
static constexpr auto SetupValue = ControlRegister() | ControlRegister::Enable | ControlRegister::Unmute | ControlRegister::CDAudioEnable;
Control.write(SetupValue);
}
static void setup_data_transfer_control() {
DataTransferControl.write((2 << 1));
}
void setup() {
clear_key();
clear_main_volume();
clear_cd_and_ext_audio_volume();
clear_control_register();
clear_voice();
clear_pmon();
clear_noise_and_echo();
clear_reverb();
setup_data_transfer_control();
setup_control_register();
//DPCR missing
}
}