upd7807: Running on MT (nw)

This commit is contained in:
AJR 2019-05-06 13:44:46 -04:00
parent a169023d42
commit 8fa2629a7e
5 changed files with 11 additions and 1 deletions

View File

@ -1630,6 +1630,7 @@ void upd7810_device::base_device_start()
save_item(NAME(m_mc));
save_item(NAME(m_mm));
save_item(NAME(m_mf));
save_item(NAME(m_mt)); // TODO: uPD7807 only
save_item(NAME(m_tmm));
save_item(NAME(m_etmm));
save_item(NAME(m_eom));

View File

@ -258,6 +258,7 @@ protected:
uint8_t m_mc; /* port C input or output mask */
uint8_t m_mm; /* memory mapping */
uint8_t m_mf; /* port F input or output mask */
uint8_t m_mt; /* port T input threshold level */
uint8_t m_tmm; /* timer 0 and timer 1 operating parameters */
uint8_t m_etmm; /* 16-bit multifunction timer/event counter */
uint8_t m_eom; /* 16-bit timer/event counter output control */
@ -483,6 +484,7 @@ protected:
void MOV_TXB_A();
void MOV_TM0_A();
void MOV_TM1_A();
void MOV_MT_A();
void MOV_ZCM_A();
void ANA_V_A();
void ANA_A_A();

View File

@ -67,6 +67,7 @@
#define MC m_mc
#define MM m_mm
#define MF m_mf
#define MT m_mt
#define TMM m_tmm
#define ETMM m_etmm
#define EOM m_eom

View File

@ -1087,6 +1087,12 @@ void upd7810_device::MOV_TM1_A()
TM1 = A;
}
/* 4d e5: 0100 1101 1110 0101 (7807 only) */
void upd7810_device::MOV_MT_A()
{
MT = A;
}
/* 4d e8: 0100 1101 1110 1000 */
void upd7810_device::MOV_ZCM_A()
{

View File

@ -812,7 +812,7 @@ const struct upd7810_device::opcode_s upd7810_device::s_op4D[256] =
{&upd7810_device::illegal2, 2,10,10,L0|L1}, /* e2: 0100 1101 1110 0010 */
{&upd7810_device::illegal2, 2,10,10,L0|L1}, /* e3: 0100 1101 1110 0011 */
{&upd7810_device::illegal2, 2,10,10,L0|L1}, /* e4: 0100 1101 1110 0100 */
{&upd7810_device::illegal2, 2,10,10,L0|L1}, /* e5: 0100 1101 1110 0101 */
{&upd7810_device::MOV_MT_A, 2,10,10,L0|L1}, /* e5: 0100 1101 1110 0101 */ /* 7807 */
{&upd7810_device::illegal2, 2,10,10,L0|L1}, /* e6: 0100 1101 1110 0110 */
{&upd7810_device::illegal2, 2,10,10,L0|L1}, /* e7: 0100 1101 1110 0111 */
{&upd7810_device::MOV_ZCM_A, 2,10,10,L0|L1}, /* e8: 0100 1101 1110 1000 */