if (command.parameters.size == 2)
{
uint16_t iAddress = ((uint16_t)command.parameters[0] << 8) | ((uint16_t)command.parameters[1]);
- m_processor->GetDevices()->SetActiveSource(iAddress);
- CCECBusDevice *device = m_processor->GetDeviceByPhysicalAddress(iAddress);
+ CCECBusDevice *device = m_processor->GetDevice(command.initiator);
if (device)
+ {
+ device->SetPhysicalAddress(iAddress);
device->MarkAsActiveSource();
+ }
m_processor->GetDevices()->SignalAll(command.opcode);
return COMMAND_HANDLED;