Previous 199869 Revisions Next

r32568 Monday 6th October, 2014 at 21:28:29 UTC by Carl
i386: fix vem486 (nw)
[src/emu/cpu/i386]i386.c

trunk/src/emu/cpu/i386/i386.c
r32567r32568
977977            if((desc.flags & 0x0004) || (DPL == CPL))
978978            {
979979               /* IRQ to same privilege */
980               if(V8086_MODE)
980               if(V8086_MODE && !m_ext)
981981               {
982982                  logerror("IRQ: Gate to same privilege from VM86 mode.\n");
983983                  FAULT_EXP(FAULT_GP,segment & ~0x03);
r32567r32568
11831183   }
11841184   CHANGE_PC(m_eip);
11851185
1186   m_CPL = m_sreg[CS].selector & 0x03;
1186   m_CPL = (m_sreg[SS].flags >> 5) & 3;
11871187//  printf("286 Task Switch from selector %04x to %04x\n",old_task,selector);
11881188}
11891189
r32567r32568
13011301
13021302   CHANGE_PC(m_eip);
13031303
1304   m_CPL = m_sreg[CS].selector & 0x03;
1304   m_CPL = (m_sreg[SS].flags >> 5) & 3;
13051305//  printf("386 Task Switch from selector %04x to %04x\n",old_task,selector);
13061306}
13071307
r32567r32568
35173517   m_sreg[CS].selector = 0xf000;
35183518   m_sreg[CS].base     = 0xffff0000;
35193519   m_sreg[CS].limit    = 0xffff;
3520   m_sreg[CS].flags    = 0x9b;
35203521   m_sreg[CS].valid    = true;
35213522
35223523   m_sreg[DS].base = m_sreg[ES].base = m_sreg[FS].base = m_sreg[GS].base = m_sreg[SS].base = 0x00000000;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team