2012-11-15 00:39:56 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "Emu/Cell/PPUOpcodes.h"
|
2013-07-03 18:17:16 +02:00
|
|
|
#include "Emu/Cell/PPCDecoder.h"
|
|
|
|
|
#include "PPUInstrTable.h"
|
2012-11-15 00:39:56 +01:00
|
|
|
|
2013-11-03 20:23:16 +01:00
|
|
|
class PPUDecoder : public PPCDecoder
|
2012-11-15 00:39:56 +01:00
|
|
|
{
|
2013-11-03 20:23:16 +01:00
|
|
|
PPUOpcodes* m_op;
|
2012-11-15 00:39:56 +01:00
|
|
|
|
|
|
|
|
public:
|
2014-04-15 16:12:15 +02:00
|
|
|
PPUDecoder(PPUOpcodes* op) : m_op(op)
|
2013-07-01 14:08:58 +02:00
|
|
|
{
|
2012-11-15 00:39:56 +01:00
|
|
|
}
|
|
|
|
|
|
2014-04-15 16:12:15 +02:00
|
|
|
virtual ~PPUDecoder()
|
2012-11-15 00:39:56 +01:00
|
|
|
{
|
2013-07-03 18:17:16 +02:00
|
|
|
delete m_op;
|
2012-11-15 00:39:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual void Decode(const u32 code)
|
|
|
|
|
{
|
2013-07-03 18:17:16 +02:00
|
|
|
(*PPU_instr::main_list)(m_op, code);
|
2012-11-15 00:39:56 +01:00
|
|
|
}
|
2013-07-03 18:17:16 +02:00
|
|
|
};
|