comex 9f683f353b Make EXI use CoreTiming events like everything else instead of having its own slow special check.
Microphone is probably wrong/mistimed because it doesn't take into
account cycles late, but that's not a new issue here.
2014-11-03 00:28:46 -05:00

41 lines
875 B
C++

// Copyright 2013 Dolphin Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#include "Common/CommonTypes.h"
#include "Common/Thread.h"
#include "Core/HW/EXI_Channel.h"
class PointerWrap;
namespace MMIO { class Mapping; }
enum
{
MAX_EXI_CHANNELS = 3
};
namespace ExpansionInterface
{
void Init();
void Shutdown();
void DoState(PointerWrap &p);
void PauseAndLock(bool doLock, bool unpauseOnUnlock);
void RegisterMMIO(MMIO::Mapping* mmio, u32 base);
void UpdateInterrupts();
void ScheduleUpdateInterrupts_Threadsafe(int cycles_late);
void ScheduleUpdateInterrupts(int cycles_late);
void ChangeDevice(const u8 channel, const TEXIDevices device_type, const u8 device_num);
CEXIChannel* GetChannel(u32 index);
IEXIDevice* FindDevice(TEXIDevices device_type, int customIndex=-1);
} // end of namespace ExpansionInterface