bsnes/higan/pce/system/peripherals.cpp

27 lines
661 B
C++

Peripherals peripherals;
auto Peripherals::unload() -> void {
delete controllerPort;
controllerPort = nullptr;
}
auto Peripherals::reset() -> void {
connect(ID::Port::Controller, settings.controllerPort);
}
auto Peripherals::connect(uint port, uint device) -> void {
if(port == ID::Port::Controller) {
settings.controllerPort = device;
if(!system.loaded()) return;
delete controllerPort;
switch(device) { default:
case ID::Device::None: controllerPort = new Controller; break;
case ID::Device::Gamepad: controllerPort = new Gamepad; break;
}
}
cpu.peripherals.reset();
cpu.peripherals.append(controllerPort);
}