Play-/Source/iop/Iop_BiosBase.h

38 lines
912 B
C
Raw Permalink Normal View History

2016-11-06 19:28:55 -05:00
#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:
2018-04-30 21:01:23 +01:00
virtual ~CBiosBase() = default;
virtual void HandleException() = 0;
virtual void HandleInterrupt() = 0;
virtual void CountTicks(uint32) = 0;
2018-04-30 21:01:23 +01:00
virtual void NotifyVBlankStart() = 0;
virtual void NotifyVBlankEnd() = 0;
2018-04-30 21:01:23 +01:00
virtual bool IsIdle() = 0;
2018-04-30 21:01:23 +01:00
virtual void SaveState(Framework::CZipArchiveWriter&) = 0;
virtual void LoadState(Framework::CZipArchiveReader&) = 0;
#ifdef DEBUGGER_INCLUDED
2018-04-30 21:01:23 +01:00
virtual void SaveDebugTags(Framework::Xml::CNode*) = 0;
virtual void LoadDebugTags(Framework::Xml::CNode*) = 0;
#endif
};
typedef std::shared_ptr<CBiosBase> BiosBasePtr;
}