duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

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