pad.h (791B)
1 // SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com> 2 // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) 3 4 #pragma once 5 6 #include "types.h" 7 8 #include <memory> 9 10 class StateWrapper; 11 12 class Controller; 13 class MemoryCard; 14 class Multitap; 15 16 namespace Pad { 17 18 void Initialize(); 19 void Shutdown(); 20 void Reset(); 21 bool DoState(StateWrapper& sw, bool is_memory_state); 22 23 Controller* GetController(u32 slot); 24 void SetController(u32 slot, std::unique_ptr<Controller> dev); 25 26 MemoryCard* GetMemoryCard(u32 slot); 27 void SetMemoryCard(u32 slot, std::unique_ptr<MemoryCard> dev); 28 std::unique_ptr<MemoryCard> RemoveMemoryCard(u32 slot); 29 30 Multitap* GetMultitap(u32 slot); 31 32 u32 ReadRegister(u32 offset); 33 void WriteRegister(u32 offset, u32 value); 34 35 bool IsTransmitting(); 36 37 } // namespace Pad