mirror of
https://github.com/holub/mame
synced 2025-05-19 20:29:09 +03:00
uPD7801: Fixed the MOV MC,A instruction.
This commit is contained in:
parent
2758f10e8c
commit
39ba484e7b
@ -9468,3 +9468,19 @@ static void STM_7801(upd7810_state *cpustate)
|
||||
/* Reload the timer */
|
||||
cpustate->ovc0 = 16 * ( TM0 + ( ( TM1 & 0x0f ) << 8 ) );
|
||||
}
|
||||
|
||||
static void MOV_MC_A_7801(upd7810_state *cpustate)
|
||||
{
|
||||
/* On the 7801 the mode C bits function as follows: */
|
||||
/* Cn=1 Cn=0 */
|
||||
/* PC0 Input Output */
|
||||
/* PC1 Input Output */
|
||||
/* PC2 Input -SCS Input */
|
||||
/* PC3 Output SAK Output */
|
||||
/* PC4 Output To Output */
|
||||
/* PC5 Output IO/-M Output */
|
||||
/* PC6 Output HLDA Output */
|
||||
/* PC7 Input HOLD Input */
|
||||
MC = 0x84 | ( ( A & 0x02 ) ? 0x02 : 0x00 ) | ( ( A & 0x01 ) ? 0x01 : 0x00 );
|
||||
}
|
||||
|
||||
|
@ -1044,6 +1044,7 @@ static void INR_B_7801(upd7810_state *cpustate);
|
||||
static void INR_C_7801(upd7810_state *cpustate);
|
||||
static void INRW_wa_7801(upd7810_state *cpustate);
|
||||
static void STM_7801(upd7810_state *cpustate);
|
||||
static void MOV_MC_A_7801(upd7810_state *cpustate);
|
||||
|
||||
|
||||
static const struct opcode_s op48[256] =
|
||||
@ -3970,7 +3971,7 @@ static const struct opcode_s op4D_7801[256] =
|
||||
/* 0xC0 - 0xDF */
|
||||
{MOV_PA_A, 2,10,10,L0|L1}, {MOV_PB_A, 2,10,10,L0|L1},
|
||||
{MOV_PC_A, 2,10,10,L0|L1}, {MOV_MKL_A, 2,10,10,L0|L1},
|
||||
{MOV_MB_A, 2,10,10,L0|L1}, {MOV_MC_A, 2,10,10,L0|L1},
|
||||
{MOV_MB_A, 2,10,10,L0|L1}, {MOV_MC_A_7801, 2,10,10,L0|L1},
|
||||
{MOV_TM0_A, 2,10,10,L0|L1}, {MOV_TM1_A, 2,10,10,L0|L1},
|
||||
{MOV_S_A, 2,10,10,L0|L1}, {illegal2, 2, 8, 8,L0|L1},
|
||||
{illegal2, 2, 8, 8,L0|L1}, {illegal2, 2, 8, 8,L0|L1},
|
||||
|
Loading…
Reference in New Issue
Block a user