dolphin/Source/Core/Core/HW
Léo Lam 4b47997cf8 Add ability to passthrough a Bluetooth adapter
This adds the ability to passthrough a whole Bluetooth adapter and skip
the majority of the Bluetooth emulation code. We use libusb to send HCI
commands, receive HCI events and transfer ACL data directly to the
first adapter that is found or to a specific adapter (if configured to)

This is possible because the Wii's Bluetooth module is actually just
a pretty standard Bluetooth adapter…

…except for two vendor-specific commands, for which replies are faked,
and also for the sync button. This adds a hotkey that works in the
exact same way as the sync button would on a Wii: it triggers an HCI
event, which emulated software interpret as a command to perform
a BT inquiry.

This commit also changes the UI code to expose passthrough mode
and WII_IPC_HLE to be a bit more thread safe (for the device map).
2016-10-03 23:06:23 +02:00
..
BBA-TAP Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
DSPHLE Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
DSPLLE Merge pull request #4131 from aldelaro5/memoryViewer-memChecks-improvements 2016-09-15 10:46:07 +12:00
WiimoteEmu Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
WiimoteReal Add ability to passthrough a Bluetooth adapter 2016-10-03 23:06:23 +02:00
AudioInterface.cpp Core: Change CoreTiming event key from int to EventType* 2016-09-03 14:55:44 +10:00
AudioInterface.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
CPU.cpp Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
CPU.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
DSP.cpp Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
DSP.h Remove instant ARAM DMA mode. 2016-09-07 12:53:14 +12:00
DVDInterface.cpp Merge pull request #4245 from aldelaro5/logs-levels-changes 2016-10-02 16:51:44 -04:00
DVDInterface.h Move code into Movie::SignalDiscChange 2016-08-21 12:51:14 +02:00
DVDThread.cpp Core: Change CoreTiming event key from int to EventType* 2016-09-03 14:55:44 +10:00
DVDThread.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
EXI_Channel.cpp EXI_Channel: Change m_pDevices to m_devices 2016-07-15 01:43:06 -04:00
EXI_Channel.h EXI_Channel: Change m_pDevices to m_devices 2016-07-15 01:43:06 -04:00
EXI_Device.cpp Remove AM Baseboard 2016-08-11 12:53:44 +02:00
EXI_Device.h Remove AM Baseboard 2016-08-11 12:53:44 +02:00
EXI_DeviceAD16.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
EXI_DeviceAD16.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
EXI_DeviceAGP.cpp Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
EXI_DeviceAGP.h EXI_DeviceAGP: Correct constness for CRC8 parameter 2016-07-18 01:41:45 -04:00
EXI_DeviceEthernet.cpp Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
EXI_DeviceEthernet.h EXI_DeviceEthernet: Correct constness of function parameters 2016-07-18 01:36:04 -04:00
EXI_DeviceGecko.cpp Use Common::Flag and Common::Event when possible 2016-08-10 16:08:15 +02:00
EXI_DeviceGecko.h Use Common::Flag and Common::Event when possible 2016-08-10 16:08:15 +02:00
EXI_DeviceIPL.cpp Merge pull request #3386 from lioncash/memory 2016-08-19 11:04:45 +02:00
EXI_DeviceIPL.h Display RTC on OSD 2016-07-22 09:58:34 -04:00
EXI_DeviceMemoryCard.cpp Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
EXI_DeviceMemoryCard.h EXI_DeviceMemoryCard: Use CoreTiming/DoState correctly 2016-09-03 14:55:45 +10:00
EXI_DeviceMic.cpp Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
EXI_DeviceMic.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
EXI.cpp EXI_DeviceMemoryCard: Use CoreTiming/DoState correctly 2016-09-03 14:55:45 +10:00
EXI.h CoreTiming: Merge ScheduleEvent variants into one function 2016-08-11 12:45:57 +02:00
GCKeyboard.cpp GCKeyboard: Return input state by value 2016-08-01 20:58:04 -04:00
GCKeyboard.h GCKeyboard: Return input state by value 2016-08-01 20:58:04 -04:00
GCKeyboardEmu.cpp GCKeyboard: Return input state by value 2016-08-01 20:58:04 -04:00
GCKeyboardEmu.h GCKeyboard: Return input state by value 2016-08-01 20:58:04 -04:00
GCMemcard.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
GCMemcard.h Further fixes to the formatting change. WX sucks. 2016-06-24 12:16:10 +02:00
GCMemcardDirectory.cpp Use Common::Flag and Common::Event when possible 2016-08-10 16:08:15 +02:00
GCMemcardDirectory.h Use Common::Flag and Common::Event when possible 2016-08-10 16:08:15 +02:00
GCMemcardRaw.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
GCMemcardRaw.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
GCPad.cpp GCPad: Return input state by value 2016-08-01 20:49:30 -04:00
GCPad.h GCPad: Return input state by value 2016-08-01 20:49:30 -04:00
GCPadEmu.cpp GCPad: Return input state by value 2016-08-01 20:49:30 -04:00
GCPadEmu.h GCPad: Return input state by value 2016-08-01 20:49:30 -04:00
GPFifo.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
GPFifo.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
HW.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
HW.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Memmap.cpp Memmap: Drop redundant global bFakeVMEM flag. 2016-10-03 10:15:52 +02:00
Memmap.h Memmap: Drop redundant global bFakeVMEM flag. 2016-10-03 10:15:52 +02:00
MemoryInterface.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
MemoryInterface.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
MMIO.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
MMIO.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
MMIOHandlers.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
ProcessorInterface.cpp Shut down Wii software gracefully 2016-10-01 13:06:04 +02:00
ProcessorInterface.h Shut down Wii software gracefully 2016-10-01 13:06:04 +02:00
SI_Device.cpp Remove AM Baseboard 2016-08-11 12:53:44 +02:00
SI_Device.h Remove AM Baseboard 2016-08-11 12:53:44 +02:00
SI_DeviceDanceMat.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SI_DeviceDanceMat.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SI_DeviceGBA.cpp SI_DeviceGBA: const correctness 2016-07-30 13:30:20 -04:00
SI_DeviceGBA.h SI_DeviceGBA: const correctness 2016-07-30 13:30:20 -04:00
SI_DeviceGCAdapter.cpp GCAdapter: Return input state by value 2016-08-01 21:27:51 -04:00
SI_DeviceGCAdapter.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SI_DeviceGCController.cpp GCPad: Return input state by value 2016-08-01 20:49:30 -04:00
SI_DeviceGCController.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SI_DeviceGCSteeringWheel.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SI_DeviceGCSteeringWheel.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SI_DeviceKeyboard.cpp GCKeyboard: Return input state by value 2016-08-01 20:58:04 -04:00
SI_DeviceKeyboard.h SI_DeviceKeyboard: const correctness 2016-07-19 19:55:44 -04:00
SI.cpp Core: Change CoreTiming event key from int to EventType* 2016-09-03 14:55:44 +10:00
SI.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Sram.cpp Fix improper SRAM RTC offset 2016-08-01 19:41:33 -04:00
Sram.h Sram: Correct constness of SetCardFlashID parameter 2016-07-18 02:15:07 -04:00
StreamADPCM.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
StreamADPCM.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SystemTimers.cpp PatchEngine: Handle MSR more cleanly 2016-10-03 16:27:42 +11:00
SystemTimers.h Disable changing Custom RTC when game is running 2016-07-19 16:30:00 -04:00
VideoInterface.cpp VideoInterface: Fix panic alert on interlaced fields. 2016-08-29 23:08:23 +12:00
VideoInterface.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
WII_IPC.cpp Reorganise a ton of logs level 2016-10-01 15:50:28 -04:00
WII_IPC.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Wiimote.cpp ControllerInterface: Add a way to register callbacks 2016-07-29 17:16:22 +02:00
Wiimote.h WiimoteReal: Don't block on refresh 2016-07-10 13:29:57 +02:00
WiiSaveCrypted.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
WiiSaveCrypted.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00