Diff for /np2/i286x/i286xcts.cpp between versions 1.3 and 1.4

version 1.3, 2003/10/19 14:56:15 version 1.4, 2003/12/01 10:45:46
Line 16  I286 _sgdt(void) { Line 16  I286 _sgdt(void) {
                                 I286CLOCK(11)                                  I286CLOCK(11)
                                 call    p_get_ea[eax*4]                                  call    p_get_ea[eax*4]
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 mov             dx, word ptr i286reg.GDTR                                  mov             dx, word ptr i286core.s.GDTR
                                 call    i286_memorywrite_w                                  call    i286_memorywrite_w
                                 add             bp, 2                                  add             bp, 2
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 mov             dx, word ptr (i286reg.GDTR+2)                                  mov             dx, word ptr (i286core.s.GDTR+2)
                                 call    i286_memorywrite_w                                  call    i286_memorywrite_w
                                 add             bp, 2                                  add             bp, 2
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 mov             dl, byte ptr (i286reg.GDTR+4)                           // ver0.29                                  mov             dl, byte ptr (i286core.s.GDTR+4)                        // ver0.29
                                 mov             dh, -1                                  mov             dh, -1
                                 jmp             i286_memorywrite_w                                  jmp             i286_memorywrite_w
                                 align   4                                  align   4
Line 42  I286 _sidt(void) { Line 42  I286 _sidt(void) {
                                 I286CLOCK(12)                                  I286CLOCK(12)
                                 call    p_get_ea[eax*4]                                  call    p_get_ea[eax*4]
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 mov             dx, word ptr i286reg.IDTR                                  mov             dx, word ptr i286core.s.IDTR
                                 call    i286_memorywrite_w                                  call    i286_memorywrite_w
                                 add             bp, 2                                  add             bp, 2
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 mov             dx, word ptr (i286reg.IDTR+2)                                  mov             dx, word ptr (i286core.s.IDTR+2)
                                 call    i286_memorywrite_w                                  call    i286_memorywrite_w
                                 add             bp, 2                                  add             bp, 2
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 mov             dl, byte ptr (i286reg.IDTR+4)                           // ver0.29                                  mov             dl, byte ptr (i286core.s.IDTR+4)                        // ver0.29
                                 mov             dh, -1                                  mov             dh, -1
                                 jmp             i286_memorywrite_w                                  jmp             i286_memorywrite_w
                                 align   4                                  align   4
Line 69  I286 _lgdt(void) { Line 69  I286 _lgdt(void) {
                                 call    p_get_ea[eax*4]                                  call    p_get_ea[eax*4]
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 call    i286_memoryread_w                                  call    i286_memoryread_w
                                 mov             word ptr i286reg.GDTR, ax                                  mov             word ptr i286core.s.GDTR, ax
                                 add             bp, 2                                  add             bp, 2
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 call    i286_memoryread_w                                  call    i286_memoryread_w
                                 mov             word ptr (i286reg.GDTR+2), ax                                  mov             word ptr (i286core.s.GDTR+2), ax
                                 add             bp, 2                                  add             bp, 2
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 call    i286_memoryread_w                                  call    i286_memoryread_w
                                 mov             word ptr (i286reg.GDTR+4), ax                                  mov             word ptr (i286core.s.GDTR+4), ax
                                 ret                                  ret
                                 align   4                                  align   4
                 register_eareg16:                  register_eareg16:
Line 95  I286 _lidt(void) { Line 95  I286 _lidt(void) {
                                 call    p_get_ea[eax*4]                                  call    p_get_ea[eax*4]
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 call    i286_memoryread_w                                  call    i286_memoryread_w
                                 mov             word ptr i286reg.IDTR, ax                                  mov             word ptr i286core.s.IDTR, ax
                                 add             bp, 2                                  add             bp, 2
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 call    i286_memoryread_w                                  call    i286_memoryread_w
                                 mov             word ptr (i286reg.IDTR+2), ax                                  mov             word ptr (i286core.s.IDTR+2), ax
                                 add             bp, 2                                  add             bp, 2
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 call    i286_memoryread_w                                  call    i286_memoryread_w
                                 mov             word ptr (i286reg.IDTR+4), ax                                  mov             word ptr (i286core.s.IDTR+4), ax
                                 ret                                  ret
                                 align   4                                  align   4
                 register_eareg16:                  register_eareg16:
Line 116  I286 _smsw(void) { Line 116  I286 _smsw(void) {
   
                 __asm {                  __asm {
                                 PREPART_EA16(3)                                  PREPART_EA16(3)
                                         mov             dx, i286reg.MSW                                          mov             dx, i286core.s.MSW
                                         mov             word ptr I286_REG[eax*2], dx                                          mov             word ptr I286_REG[eax*2], dx
                                         GET_NEXTPRE2                                          GET_NEXTPRE2
                                         ret                                          ret
                                 MEMORY_EA16(6)                                  MEMORY_EA16(6)
                                         mov             ax, i286reg.MSW                                          mov             ax, i286core.s.MSW
                                         mov             word ptr I286_MEM[ecx], ax                                          mov             word ptr I286_MEM[ecx], ax
                                         ret                                          ret
                                 extmem_eareg16:                                  extmem_eareg16:
                                         mov             dx, i286reg.MSW                                          mov             dx, i286core.s.MSW
                                         jmp             i286_memorywrite_w                                          jmp             i286_memorywrite_w
                 }                  }
 }  }
Line 137  I286 _lmsw(void) { Line 137  I286 _lmsw(void) {
                                 PREPART_EA16(2)                                  PREPART_EA16(2)
                                         mov             ax, word ptr I286_REG[eax*2]                                          mov             ax, word ptr I286_REG[eax*2]
                                         and             ax, 0ch                                          and             ax, 0ch
                                         mov             i286reg.MSW, ax                                          mov             i286core.s.MSW, ax
                                         GET_NEXTPRE2                                          GET_NEXTPRE2
                                         ret                                          ret
                                 MEMORY_EA16(3)                                  MEMORY_EA16(3)
                                         mov             ax, word ptr I286_MEM[ecx]                                          mov             ax, word ptr I286_MEM[ecx]
                                         and             ax, 0ch                                          and             ax, 0ch
                                         mov             i286reg.MSW, ax                                          mov             i286core.s.MSW, ax
                                         ret                                          ret
                                 EXTMEM_EA16                                  EXTMEM_EA16
                                         and             ax, 0ch                                          and             ax, 0ch
                                         mov             i286reg.MSW, ax                                          mov             i286core.s.MSW, ax
                                         ret                                          ret
                 }                  }
 }  }
Line 194  i286_cts1:  movzx eax, bh Line 194  i286_cts1:  movzx eax, bh
                                 align   4                                  align   4
 loadall286:             I286CLOCK(195)  loadall286:             I286CLOCK(195)
                                 mov             ax, word ptr mem[0x0804]                // MSW                                  mov             ax, word ptr mem[0x0804]                // MSW
                                 mov             i286reg.MSW, ax                                  mov             i286core.s.MSW, ax
                                 mov             ax, word ptr mem[0x0818]                // flag                                  mov             ax, word ptr mem[0x0818]                // flag
                                 mov             I286_FLAG, ax                                  mov             I286_FLAG, ax
                                 and             ah, 3                                  and             ah, 3

Removed from v.1.3  
changed lines
  Added in v.1.4


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