Skip to content
Permalink
Browse files
Merge pull request #6527 from lioncash/typedef
DSPTables: Remove opc_t typedef
  • Loading branch information
leoetlino committed Mar 26, 2018
2 parents 8e8603f + 8c421ff commit ccfdea6
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 10 deletions.
@@ -430,7 +430,7 @@ u32 DSPAssembler::GetParams(char* parstr, param_t* par)
return count;
}

const opc_t* DSPAssembler::FindOpcode(std::string name, size_t par_count, OpcodeType type)
const DSPOPCTemplate* DSPAssembler::FindOpcode(std::string name, size_t par_count, OpcodeType type)
{
if (name[0] == 'C' && name[1] == 'W')
return &cw;
@@ -467,7 +467,8 @@ static u16 get_mask_shifted_down(u16 mask)
return mask;
}

bool DSPAssembler::VerifyParams(const opc_t* opc, param_t* par, size_t count, OpcodeType type)
bool DSPAssembler::VerifyParams(const DSPOPCTemplate* opc, param_t* par, size_t count,
OpcodeType type)
{
for (size_t i = 0; i < count; i++)
{
@@ -713,7 +714,7 @@ bool DSPAssembler::VerifyParams(const opc_t* opc, param_t* par, size_t count, Op
}

// Merge opcode with params.
void DSPAssembler::BuildCode(const opc_t* opc, param_t* par, u32 par_count, u16* outbuf)
void DSPAssembler::BuildCode(const DSPOPCTemplate* opc, param_t* par, u32 par_count, u16* outbuf)
{
outbuf[m_cur_addr] |= opc->opcode;
for (u32 i = 0; i < par_count; i++)
@@ -994,15 +995,15 @@ bool DSPAssembler::AssemblePass(const std::string& text, int pass)
continue;
}

const opc_t* opc = FindOpcode(opcode, params_count, OpcodeType::Primary);
const DSPOPCTemplate* opc = FindOpcode(opcode, params_count, OpcodeType::Primary);
if (!opc)
opc = &cw;

opcode_size = opc->size;

VerifyParams(opc, params, params_count, OpcodeType::Primary);

const opc_t* opc_ext = nullptr;
const DSPOPCTemplate* opc_ext = nullptr;
// Check for opcode extensions.
if (opc->extended)
{
@@ -97,9 +97,9 @@ class DSPAssembler
void ShowError(AssemblerError err_code, const char* extra_info = nullptr);

char* FindBrackets(char* src, char* dst);
const opc_t* FindOpcode(std::string name, size_t par_count, OpcodeType type);
bool VerifyParams(const opc_t* opc, param_t* par, size_t count, OpcodeType type);
void BuildCode(const opc_t* opc, param_t* par, u32 par_count, u16* outbuf);
const DSPOPCTemplate* FindOpcode(std::string name, size_t par_count, OpcodeType type);
bool VerifyParams(const DSPOPCTemplate* opc, param_t* par, size_t count, OpcodeType type);
void BuildCode(const DSPOPCTemplate* opc, param_t* par, u32 par_count, u16* outbuf);

std::vector<u16> m_output_buffer;

@@ -88,8 +88,6 @@ struct DSPOPCTemplate
bool updates_sr;
};

typedef DSPOPCTemplate opc_t;

// Opcodes
extern const DSPOPCTemplate cw;

0 comments on commit ccfdea6

Please sign in to comment.