metaforce/Runtime/MP1/CNESEmulator.hpp

37 lines
942 B
C++

#ifndef __URDE_CNESEMULATOR_HPP__
#define __URDE_CNESEMULATOR_HPP__
#include "RetroTypes.hpp"
#include "zeus/CColor.hpp"
namespace urde
{
class CFinalInput;
namespace MP1
{
class CNESEmulator
{
bool x20_wantsQuit = false;
u8 x21_saveState[18];
bool x34_wantsLoad = false;
bool x38_stateLoaded = false;
u8 x39_loadState[18];
static void DescrambleROM(u8* dataIn, u8* dataOut, u32 dataOutLen = 0x20000, u8 descrambleInit = 0xe9,
u32 descramble2Len = 0x1FFFC, u32 descramble2Magic = 0xA663);
public:
void ProcessUserInput(const CFinalInput& input, int);
void Update();
void Draw(const zeus::CColor& mulColor, bool filtering);
void LoadState(const u8* state);
const u8* GetSaveState() const { return x21_saveState; }
bool WantsQuit() const { return x20_wantsQuit; }
bool WantsLoad() const { return x34_wantsLoad; }
};
}
}
#endif // __URDE_CNESEMULATOR_HPP__