diff options
Diffstat (limited to 'src/emu/cpu/rsp/rspfe.h')
-rw-r--r-- | src/emu/cpu/rsp/rspfe.h | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/src/emu/cpu/rsp/rspfe.h b/src/emu/cpu/rsp/rspfe.h index 176351b8b12..b032c306b2b 100644 --- a/src/emu/cpu/rsp/rspfe.h +++ b/src/emu/cpu/rsp/rspfe.h @@ -15,20 +15,44 @@ #ifndef __RSPFE_H__ #define __RSPFE_H__ +#include "rsp.h" #include "cpu/drcfe.h" -/*************************************************************************** - CONSTANTS -***************************************************************************/ +//************************************************************************** +// CONSTANTS +//************************************************************************** -/* register flags 0 */ +// register flags 0 #define REGFLAG_R(n) (((n) == 0) ? 0 : (1 << (n))) -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ -int rspfe_describe(void *param, opcode_desc *desc, const opcode_desc *prev); + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +class rsp_frontend : public drc_frontend +{ +public: + // construction/destruction + rsp_frontend(rsp_state &state, UINT32 window_start, UINT32 window_end, UINT32 max_sequence); + +protected: + // required overrides + virtual bool describe(opcode_desc &desc, const opcode_desc *prev); + +private: + // internal helpers + bool describe_special(UINT32 op, opcode_desc &desc); + bool describe_regimm(UINT32 op, opcode_desc &desc); + bool describe_cop0(UINT32 op, opcode_desc &desc); + bool describe_cop2(UINT32 op, opcode_desc &desc); + + // internal state + rsp_state &m_context; +}; + + #endif /* __RSPFE_H__ */ |