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