mirror of
https://github.com/holub/mame
synced 2025-05-25 15:25:33 +03:00
i386: Fixed setting of IF flag when interrupts are triggered in virtual 8086 mode. (no whatsnew)
This commit is contained in:
parent
5f6f7b8267
commit
a771e136c6
@ -613,7 +613,7 @@ static void i386_trap(i386_state *cpustate,int irq, int irq_gate, int trap_level
|
|||||||
tempflags = get_flags(cpustate);
|
tempflags = get_flags(cpustate);
|
||||||
cpustate->VM = 0;
|
cpustate->VM = 0;
|
||||||
cpustate->TF = 0;
|
cpustate->TF = 0;
|
||||||
if(irq_gate == 1)
|
if(type == 0x0e || type == 0x06)
|
||||||
cpustate->IF = 0;
|
cpustate->IF = 0;
|
||||||
tempSS = cpustate->sreg[SS].selector;
|
tempSS = cpustate->sreg[SS].selector;
|
||||||
tempESP = REG32(ESP);
|
tempESP = REG32(ESP);
|
||||||
@ -2241,7 +2241,7 @@ static void i386_protected_mode_iret(i386_state* cpustate, int operand32)
|
|||||||
//SSDPL = (stack.flags >> 5) & 0x03;
|
//SSDPL = (stack.flags >> 5) & 0x03;
|
||||||
|
|
||||||
/* Return to v86 mode */
|
/* Return to v86 mode */
|
||||||
popmessage("IRET (%08x): Returning to Virtual 8086 mode.",cpustate->pc);
|
logerror("IRET (%08x): Returning to Virtual 8086 mode.\n",cpustate->pc);
|
||||||
// Should these be done at this point? The 386 programmers' reference is a bit confusing about this
|
// Should these be done at this point? The 386 programmers' reference is a bit confusing about this
|
||||||
/* if(RPL != 3)
|
/* if(RPL != 3)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user