Play-/Source/iop/Iop_BiosBase.h
2018-04-30 21:01:23 +01:00

37 lines
912 B
C++

#pragma once
#include <memory>
#include "Types.h"
#include "../BiosDebugInfoProvider.h"
#include "zip/ZipArchiveWriter.h"
#include "zip/ZipArchiveReader.h"
#ifdef DEBUGGER_INCLUDED
#include "xml/Node.h"
#endif
namespace Iop
{
class CBiosBase : public CBiosDebugInfoProvider
{
public:
virtual ~CBiosBase() = default;
virtual void HandleException() = 0;
virtual void HandleInterrupt() = 0;
virtual void CountTicks(uint32) = 0;
virtual void NotifyVBlankStart() = 0;
virtual void NotifyVBlankEnd() = 0;
virtual bool IsIdle() = 0;
virtual void SaveState(Framework::CZipArchiveWriter&) = 0;
virtual void LoadState(Framework::CZipArchiveReader&) = 0;
#ifdef DEBUGGER_INCLUDED
virtual void SaveDebugTags(Framework::Xml::CNode*) = 0;
virtual void LoadDebugTags(Framework::Xml::CNode*) = 0;
#endif
};
typedef std::shared_ptr<CBiosBase> BiosBasePtr;
}