Diff for /np2/i286x/i286x.cpp between versions 1.7 and 1.11

version 1.7, 2003/12/08 00:55:31 version 1.11, 2003/12/25 19:26:55
Line 5 Line 5
 #include        "i286xs.h"  #include        "i286xs.h"
 #include        "i286xrep.h"  #include        "i286xrep.h"
 #include        "i286xcts.h"  #include        "i286xcts.h"
 #include        "memory.h"  
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "i286x.mcr"  #include        "i286x.mcr"
Line 61  void i286x_initialize(void) { Line 60  void i286x_initialize(void) {
 void i286x_reset(void) {  void i286x_reset(void) {
   
         ZeroMemory(&i286core.s, sizeof(i286core.s));          ZeroMemory(&i286core.s, sizeof(i286core.s));
         I286_CS = 0x1fc0;          I286_CS = 0xffff;
         CS_BASE = 0x1fc00;          CS_BASE = 0xffff0;
         i286core.s.adrsmask = 0xfffff;          i286core.s.adrsmask = 0xfffff;
 }  }
   
   void i286x_shut(void) {
   
           CPU_CS = 0xffff;
           CS_BASE = 0xffff0;
           CPU_IP = 0;
           CPU_ADRSMASK = 0xfffff;
           i286x_resetprefetch();
   }
   
   
 LABEL void i286x_resetprefetch(void) {  LABEL void i286x_resetprefetch(void) {
   
Line 2668  I286 _popf(void) {        // 9D: popf Line 2676  I286 _popf(void) {        // 9D: popf
                                 cmp             ah, 3                                  cmp             ah, 3
                                 sete    I286_TRAP                                  sete    I286_TRAP
   
                                 test    ah, 2                                   // fast_intr                                  je              irqcheck                                // fast_intr
                                   test    ah, 2
                                 je              nextop                                  je              nextop
                                 cmp             pic.ext_irq, 0                                  cmp             pic.ext_irq, 0
                                 jne             nextop                                  jne             nextop
Line 2677  I286 _popf(void) {        // 9D: popf Line 2686  I286 _popf(void) {        // 9D: popf
                                 not             ax                                  not             ax
                                 test    al, pic.pi[0].irr                                  test    al, pic.pi[0].irr
                                 jne             irqcheck                                  jne             irqcheck
                                 test    al, pic.pi[1].irr                                  test    ah, pic.pi[1].irr
                                 jne             irqcheck                                  jne             irqcheck
 nextop:                 ret  nextop:                 ret
   
Line 3596  I286 _iret(void) {        // CF: iret Line 3605  I286 _iret(void) {        // CF: iret
                                 sete    I286_TRAP                                  sete    I286_TRAP
                                 RESET_XPREFETCH                                  RESET_XPREFETCH
   
                                 test    I286_FLAG, I_FLAG               // fast_intr                                  cmp             I286_TRAP, 0                    // fast_intr
                                   jne             irqcheck
                                   test    I286_FLAG, I_FLAG
                                 je              nextop                                  je              nextop
                                 cmp             pic.ext_irq, 0                                  cmp             pic.ext_irq, 0
                                 jne             nextop                                  jne             nextop
Line 3605  I286 _iret(void) {        // CF: iret Line 3616  I286 _iret(void) {        // CF: iret
                                 not             ax                                  not             ax
                                 test    al, pic.pi[0].irr                                  test    al, pic.pi[0].irr
                                 jne             irqcheck                                  jne             irqcheck
                                 test    al, pic.pi[1].irr                                  test    ah, pic.pi[1].irr
                                 jne             irqcheck                                  jne             irqcheck
 nextop:                 ret  nextop:                 ret
   
Line 4201  I286 _sti(void) {        // FB: sti Line 4212  I286 _sti(void) {        // FB: sti
                                 test    I286_FLAG, T_FLAG                                  test    I286_FLAG, T_FLAG
                                 setne   I286_TRAP                                  setne   I286_TRAP
   
                                 cmp             pic.ext_irq, 0                  // fast_intr                                  jne             nextopandexit                   // fast_intr
                                   cmp             pic.ext_irq, 0
                                 jne             jmp_nextop                                  jne             jmp_nextop
                                 mov             al, pic.pi[0].imr                                  mov             al, pic.pi[0].imr
                                 mov             ah, pic.pi[1].imr                                  mov             ah, pic.pi[1].imr
                                 not             ax                                  not             ax
                                 test    al, pic.pi[0].irr                                  test    al, pic.pi[0].irr
                                 jne             nextopandexit                                  jne             nextopandexit
                                 test    al, pic.pi[1].irr                                  test    ah, pic.pi[1].irr
                                 jne             nextopandexit                                  jne             nextopandexit
 jmp_nextop:             jmp             i286op[ebp*4]  jmp_nextop:             jmp             i286op[ebp*4]
   

Removed from v.1.7  
changed lines
  Added in v.1.11


RetroPC.NET-CVS <cvs@retropc.net>