#pragma once #include "../jabyegine_config.hpp" #include "controller.hpp" namespace JabyEngine { namespace Periphery { static constexpr uint32_t PortCount = Configuration::Periphery::IncludePortB ? 2 : 1; static constexpr uint32_t DeviceCount = Configuration::Periphery::UseMultiTap ? 4 : 1; extern RawController controller[PortCount][DeviceCount]; void query_controller(); template inline T& get_controller_as(size_t port, size_t device) { return *reinterpret_cast(&controller[port][device]); } template inline T& get_primary_controller_as() { return get_controller_as(0, 0); } } }