Added tms9900, tms9980 & tms9995 to unidasm. Other tms99xx cpu cores are generated with macros, including the CPU_DISASSEMBLE (nw)

This commit is contained in:
smf- 2013-03-07 07:20:48 +00:00
parent 039aa6d9d7
commit e28ed1357c
9 changed files with 28 additions and 9 deletions

View File

@ -794,3 +794,18 @@ unsigned Dasm9900 (char *buffer, unsigned pc, int model_id, const UINT8 *oprom,
return (PC - pc) | DASMFLAG_SUPPORTED | dasmflags;
}
CPU_DISASSEMBLE( tms9900 )
{
return Dasm9900(buffer, pc, TMS9900_ID, oprom, opram);
}
CPU_DISASSEMBLE( tms9980 )
{
return Dasm9900(buffer, pc, TMS9980_ID, oprom, opram);
}
CPU_DISASSEMBLE( tms9995 )
{
return Dasm9900(buffer, pc, TMS9995_ID, oprom, opram);
}

View File

@ -1920,6 +1920,7 @@ static void field_interrupt(tms99xx_state *cpustate)
static CPU_DISASSEMBLE( tms99xx )
{
extern unsigned Dasm9900 (char *buffer, unsigned pc, int model_id, const UINT8 *oprom, const UINT8 *opram);
return Dasm9900(buffer, pc, TMS99XX_MODEL, oprom, opram);
}

View File

@ -2583,7 +2583,8 @@ UINT32 tms99xx_device::disasm_max_opcode_bytes() const
offs_t tms99xx_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
{
return Dasm9900(buffer, pc, TMS9900_ID, oprom, opram);
extern CPU_DISASSEMBLE( tms9900 );
return CPU_DISASSEMBLE_NAME(tms9900)(this, buffer, pc, oprom, opram, options);
}

View File

@ -459,8 +459,6 @@ public:
};
unsigned Dasm9900(char *buffer, unsigned pc, int model_id, const UINT8 *oprom, const UINT8 *opram);
// device type definition
extern const device_type TMS9900;

View File

@ -205,6 +205,4 @@ struct tms99110areset_param
};
unsigned Dasm9900 (char *buffer, unsigned pc, int model_id, const UINT8 *oprom, const UINT8 *opram);
#endif /* __TMS9900_H__ */

View File

@ -239,7 +239,8 @@ UINT32 tms9980a_device::disasm_max_opcode_bytes() const
offs_t tms9980a_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
{
return Dasm9900(buffer, pc, TMS9980_ID, oprom, opram);
extern CPU_DISASSEMBLE( tms9980 );
return CPU_DISASSEMBLE_NAME(tms9980)(this, buffer, pc, oprom, opram, options);
}
const device_type TMS9980A = &device_creator<tms9980a_device>;

View File

@ -3310,7 +3310,8 @@ UINT32 tms9995_device::disasm_max_opcode_bytes() const
offs_t tms9995_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
{
return Dasm9900(buffer, pc, TMS9995_ID, oprom, opram);
extern CPU_DISASSEMBLE( tms9995 );
return CPU_DISASSEMBLE_NAME(tms9995)(this, buffer, pc, oprom, opram, options);
}

View File

@ -441,8 +441,6 @@ private:
devcb_resolved_write_line m_holda_line;
};
unsigned Dasm9900(char *buffer, unsigned pc, int model_id, const UINT8 *oprom, const UINT8 *opram);
// device type definition
extern const device_type TMS9995;

View File

@ -201,6 +201,9 @@ CPU_DISASSEMBLE( tms34010 );
CPU_DISASSEMBLE( tms34020 );
CPU_DISASSEMBLE( tms57002 );
CPU_DISASSEMBLE( tms7000 );
CPU_DISASSEMBLE( tms9900 );
CPU_DISASSEMBLE( tms9980 );
CPU_DISASSEMBLE( tms9995 );
CPU_DISASSEMBLE( tx0_64kw );
CPU_DISASSEMBLE( tx0_8kw );
CPU_DISASSEMBLE( unsp );
@ -340,6 +343,9 @@ static const dasm_table_entry dasm_table[] =
{ "tms34020", _8bit, 3, CPU_DISASSEMBLE_NAME(tms34020) },
{ "tms57002", _32le, -2, CPU_DISASSEMBLE_NAME(tms57002) },
{ "tms7000", _8bit, 0, CPU_DISASSEMBLE_NAME(tms7000) },
{ "tms9900", _16be, 0, CPU_DISASSEMBLE_NAME(tms9900) },
{ "tms9980", _8bit, 0, CPU_DISASSEMBLE_NAME(tms9980) },
{ "tms9995", _8bit, 0, CPU_DISASSEMBLE_NAME(tms9995) },
{ "tx0_64kw", _32be, -2, CPU_DISASSEMBLE_NAME(tx0_64kw) },
{ "tx0_8kw", _32be, -2, CPU_DISASSEMBLE_NAME(tx0_8kw) },
{ "unsp", _16be, 0, CPU_DISASSEMBLE_NAME(unsp) },