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