tms9980a: Add TMS9981 type (nw)

This commit is contained in:
AJR 2018-10-12 18:00:52 -04:00
parent 5be1f787fd
commit d885856a8e
2 changed files with 25 additions and 1 deletions

View File

@ -46,6 +46,10 @@
- The 9980A has the same external instructions as the TMS9900, but it
indicates the command via A0, A1, and A13 (instead of A0-A2).
TMS9981 is almost identical to TMS9980A except for deleting the -5V Vbb input
and allowing a crystal oscillator to be connected to pins 34 and 33 (OSCOUT).
The D0-D7, INT0-2 and /PHI3 pins are shifted to accommodate this feature.
For pin definitions see tms9900.c
Michael Zapf, 2012
@ -76,8 +80,18 @@
Constructor
****************************************************************************/
tms9980a_device::tms9980a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: tms99xx_device(mconfig, type, tag, 8, 14, 11, owner, clock)
{
}
tms9980a_device::tms9980a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: tms99xx_device(mconfig, TMS9980A, tag, 8, 14, 11, owner, clock)
: tms9980a_device(mconfig, TMS9980A, tag, owner, clock)
{
}
tms9981_device::tms9981_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: tms9980a_device(mconfig, TMS9981, tag, owner, clock)
{
}
@ -294,3 +308,4 @@ std::unique_ptr<util::disasm_interface> tms9980a_device::create_disassembler()
}
DEFINE_DEVICE_TYPE(TMS9980A, tms9980a_device, "tms9980a", "Texas Instruments TMS9980A")
DEFINE_DEVICE_TYPE(TMS9981, tms9981_device, "tms9981", "Texas Instruments TMS9981")

View File

@ -30,6 +30,8 @@ public:
tms9980a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
tms9980a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
void mem_read(void) override;
void mem_write(void) override;
void acquire_instruction(void) override;
@ -50,7 +52,14 @@ protected:
address_space_config m_io_config80;
};
class tms9981_device : public tms9980a_device
{
public:
tms9981_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
// device type definition
DECLARE_DEVICE_TYPE(TMS9980A, tms9980a_device)
DECLARE_DEVICE_TYPE(TMS9981, tms9981_device)
#endif // MAME_CPU_TMS9900_TMS9980A_H