Diff for /np2/i286x/i286x.cpp between versions 1.24 and 1.26

version 1.24, 2005/02/12 12:13:58 version 1.26, 2005/03/24 02:21:21
Line 12 Line 12
 #include        "v30patch.h"  #include        "v30patch.h"
 #include        "bios.h"  #include        "bios.h"
 #include        "dmax86.h"  #include        "dmax86.h"
   #if defined(ENABLE_TRAP)
   #include        "steptrap.h"
   #include        "inttrap.h"
   #endif
   
   
         I286CORE        i286core;          I286CORE        i286core;
Line 264  LABEL void i286x(void) { Line 268  LABEL void i286x(void) {
                                 cmp             dmac.working, 0                                  cmp             dmac.working, 0
                                 jne             short i286_dma_mnlp                                  jne             short i286_dma_mnlp
   
 i286_mnlp:              movzx   eax, bl  i286_mnlp:
   #if defined(ENABLE_TRAP)
                                   mov             edx, esi
                                   movzx   ecx, I286_CS
                                   call    steptrap
   #endif
                                   movzx   eax, bl
                                 call    i286op[eax*4]                                  call    i286op[eax*4]
                                 cmp             I286_REMCLOCK, 0                                  cmp             I286_REMCLOCK, 0
                                 jg              i286_mnlp                                  jg              i286_mnlp
Line 274  i286_mnlp:  movzx eax, bl Line 284  i286_mnlp:  movzx eax, bl
                                 ret                                  ret
   
                                 align   16                                  align   16
 i286_dma_mnlp:  movzx   eax, bl  i286_dma_mnlp:
   #if defined(ENABLE_TRAP)
                                   mov             edx, esi
                                   movzx   ecx, I286_CS
                                   call    steptrap
   #endif
                                   movzx   eax, bl
                                 call    i286op[eax*4]                                  call    i286op[eax*4]
                                 call    dmax86                                  call    dmax86
                                 cmp             I286_REMCLOCK, 0                                  cmp             I286_REMCLOCK, 0
Line 285  i286_dma_mnlp: movzx eax, bl Line 301  i286_dma_mnlp: movzx eax, bl
                                 ret                                  ret
   
                                 align   16                                  align   16
 i286_trapping:  movzx   eax, bl  i286_trapping:
   #if defined(ENABLE_TRAP)
                                   mov             edx, esi
                                   movzx   ecx, I286_CS
                                   call    steptrap
   #endif
                                   movzx   eax, bl
                                 call    i286op[eax*4]                                  call    i286op[eax*4]
                                 cmp             I286_TRAP, 0                                  cmp             I286_TRAP, 0
                                 je              i286notrap                                  je              i286notrap
Line 2385  I286 mov_ea_r8(void) {       // 88: mov  Line 2407  I286 mov_ea_r8(void) {       // 88: mov 
                 __asm {                  __asm {
                                 PREPART_EA_REG8(2)                                  PREPART_EA_REG8(2)
                                         mov             I286_REG[eax], dl                                          mov             I286_REG[eax], dl
                                         GET_NEXTPRE2                                    // ea_regの regregだけ                                          GET_NEXTPRE1                                    // ea_regの regregだけ
                                         ret                                          ret
                                         align   16                                          align   16
                         memory_eareg8:                          memory_eareg8:
Line 3487  I286 _enter(void) {        // C8: enter  Line 3509  I286 _enter(void) {        // C8: enter 
                                 je              enter0                                  je              enter0
                                 dec             eax                                  dec             eax
                                 je              enter1                                  je              enter1
                                 lea             ecx, [eax*4 + 12]                                  lea             ecx, [eax*4 + 12 + 4]
                                 I286CLOCK(ecx)                                  I286CLOCK(ecx)
                                 push    ebx                                  push    ebx
                                 movzx   ebx, I286_BP                                  movzx   ebx, I286_BP
Line 3635  I286 int_data8(void) {       // CD: int  Line 3657  I286 int_data8(void) {       // CD: int 
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 mov             dx, I286_CS                                  mov             dx, I286_CS
                                 call    i286_memorywrite_w                                  call    i286_memorywrite_w
   #if defined(ENABLE_TRAP)
                                   movzx   eax, bh
                                   push    eax
                                   lea             edx, [esi - 1]
                                   movzx   ecx, I286_CS
                                   call    softinttrap
   #endif
                                 movzx   eax, bh                                  movzx   eax, bh
                                 sub             bp, 2                                  sub             bp, 2
                                 mov             I286_SP, bp                                  mov             I286_SP, bp

Removed from v.1.24  
changed lines
  Added in v.1.26


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