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

dma.h (611B)


      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 #include "types.h"
      6 
      7 class StateWrapper;
      8 
      9 namespace DMA {
     10 
     11 enum : u32
     12 {
     13   NUM_CHANNELS = 7
     14 };
     15 
     16 enum class Channel : u32
     17 {
     18   MDECin = 0,
     19   MDECout = 1,
     20   GPU = 2,
     21   CDROM = 3,
     22   SPU = 4,
     23   PIO = 5,
     24   OTC = 6
     25 };
     26 
     27 void Initialize();
     28 void Shutdown();
     29 void Reset();
     30 bool DoState(StateWrapper& sw);
     31 
     32 u32 ReadRegister(u32 offset);
     33 void WriteRegister(u32 offset, u32 value);
     34 
     35 void SetRequest(Channel channel, bool request);
     36 
     37 void DrawDebugStateWindow();
     38 
     39 } // namespace DMA