mirror of
https://github.com/holub/mame
synced 2025-07-05 01:48:29 +03:00
tms9980a: Add TMS9981 type (nw)
This commit is contained in:
parent
5be1f787fd
commit
d885856a8e
@ -46,6 +46,10 @@
|
|||||||
- The 9980A has the same external instructions as the TMS9900, but it
|
- The 9980A has the same external instructions as the TMS9900, but it
|
||||||
indicates the command via A0, A1, and A13 (instead of A0-A2).
|
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
|
For pin definitions see tms9900.c
|
||||||
|
|
||||||
Michael Zapf, 2012
|
Michael Zapf, 2012
|
||||||
@ -76,8 +80,18 @@
|
|||||||
Constructor
|
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)
|
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(TMS9980A, tms9980a_device, "tms9980a", "Texas Instruments TMS9980A")
|
||||||
|
DEFINE_DEVICE_TYPE(TMS9981, tms9981_device, "tms9981", "Texas Instruments TMS9981")
|
||||||
|
@ -30,6 +30,8 @@ public:
|
|||||||
tms9980a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
tms9980a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
protected:
|
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_read(void) override;
|
||||||
void mem_write(void) override;
|
void mem_write(void) override;
|
||||||
void acquire_instruction(void) override;
|
void acquire_instruction(void) override;
|
||||||
@ -50,7 +52,14 @@ protected:
|
|||||||
address_space_config m_io_config80;
|
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
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(TMS9980A, tms9980a_device)
|
DECLARE_DEVICE_TYPE(TMS9980A, tms9980a_device)
|
||||||
|
DECLARE_DEVICE_TYPE(TMS9981, tms9981_device)
|
||||||
|
|
||||||
#endif // MAME_CPU_TMS9900_TMS9980A_H
|
#endif // MAME_CPU_TMS9900_TMS9980A_H
|
||||||
|
Loading…
Reference in New Issue
Block a user