From 657c7d088a3c68e26508f9386ec1320f66beffd1 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Tue, 30 Jul 2019 16:03:29 -0700 Subject: [PATCH] Don't attach the camera or speaker to the balance board; use zero'd EEPROM for the balance board --- Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp b/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp index 7308607e4c..0a2f36e8c7 100644 --- a/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp +++ b/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp @@ -107,9 +107,10 @@ void Wiimote::Reset() file.read(reinterpret_cast(m_eeprom.data.data()), EEPROM_FREE_SIZE); file.close(); } - else + else if (m_index != WIIMOTE_BALANCE_BOARD) { // Load some default data. + // Note that the balance board starts with all-0 EEPROM, while regular remotes have some data. // IR calibration: std::array ir_calibration = { @@ -170,8 +171,11 @@ void Wiimote::Reset() // Initialize i2c bus: m_i2c_bus.Reset(); - m_i2c_bus.AddSlave(&m_speaker_logic); - m_i2c_bus.AddSlave(&m_camera_logic); + if (m_index != WIIMOTE_BALANCE_BOARD) + { + m_i2c_bus.AddSlave(&m_speaker_logic); + m_i2c_bus.AddSlave(&m_camera_logic); + } // Reset extension connections to NONE: m_is_motion_plus_attached = false;