Diff for /xmil/z80x/z80x_if.x86 between versions 1.6 and 1.8

version 1.6, 2004/08/11 13:53:54 version 1.8, 2004/08/14 12:16:18
Line 12  section .text Line 12  section .text
         global  _z80x_step          global  _z80x_step
   
         extern  _z80core          extern  _z80core
         extern  _z80dmap  
         extern  memfetch          extern  memfetch
         extern  memrd16_ecx_ax          extern  memrd16_ecx_ax
         extern  memwr16_ecx_dx          extern  memwr16_ecx_dx
         extern  _cycles_main          extern  _cycles_main
         extern  opcode_main          extern  opcode_main
   
           extern  _z80dmap
                                 align   16          extern  _dma
 _z80x_ableinterrupt:  
                                 test    byte [_z80core + R_Z80IFF], ((1 << IFF_IFLAG) | (1 << IFF_IRQ) | (1 << IFF_NMI))  
                                 setz    al  
                                 ret  
   
   
                                 align   16                                  align   16
Line 35  _z80x_ableinterrupt: Line 30  _z80x_ableinterrupt:
                                 je              short .setintr                                  je              short .setintr
                                 inc             word [edx + R_Z80PC]                                  inc             word [edx + R_Z80PC]
                                 and             al, ~(1 << IFF_HALT)                                  and             al, ~(1 << IFF_HALT)
 .setintr:               or              al, ((1 << IFF_IRQ) | (1 << IFF_IFLAG))  .setintr:               or              al, (1 << IFF_IFLAG)
                                 cmp             byte [edx + R_Z80IM], 1                                  cmp             byte [edx + R_Z80IM], 1
                                 mov             [edx + R_Z80IFF], al                                  mov             [edx + R_Z80IFF], al
                                 je              short .im1                                  je              short .im1
Line 95  _z80x_nonmaskedinterrupt: Line 90  _z80x_nonmaskedinterrupt:
 _z80x_execute   push    ebx  _z80x_execute   push    ebx
                                 push    edi                                  push    edi
                                 mov             edi, _z80core                                  mov             edi, _z80core
                                   cmp             byte [_dma], 0
                                   jne             short .dmalp
 .lp:                    inc             byte [edi + R_Z80R]  .lp:                    inc             byte [edi + R_Z80R]
                                 movzx   ecx, word [edi + R_Z80PC]                                  movzx   ecx, word [edi + R_Z80PC]
                                 inc             word [edi + R_Z80PC]                                  inc             word [edi + R_Z80PC]
Line 102  _z80x_execute push ebx Line 99  _z80x_execute push ebx
                                 movzx   edx, byte [_cycles_main + eax]                                  movzx   edx, byte [_cycles_main + eax]
                                 Z80WORK edx                                  Z80WORK edx
                                 call    dword [opcode_main + eax*4]                                  call    dword [opcode_main + eax*4]
                                 call    _z80dmap  
                                 mov             eax, [edi + z80core_t.remainclock]                                  mov             eax, [edi + z80core_t.remainclock]
                                 cmp             eax, byte 0                                  cmp             eax, byte 0
                                 jg              short .lp                                  jg              short .lp
                                 pop             edi  .ed:                    pop             edi
                                 pop             ebx                                  pop             ebx
                                 ret                                  ret
   .dmalp:                 inc             byte [edi + R_Z80R]
                                   movzx   ecx, word [edi + R_Z80PC]
                                   inc             word [edi + R_Z80PC]
                                   call    memfetch
                                   movzx   edx, byte [_cycles_main + eax]
                                   Z80WORK edx
                                   call    dword [opcode_main + eax*4]
                                   call    _z80dmap
                                   mov             eax, [edi + z80core_t.remainclock]
                                   cmp             eax, byte 0
                                   jg              short .dmalp
                                   jmp             short .ed
   
   
                                 align   16                                  align   16
 _z80x_step:             push    ebx  _z80x_step:             push    ebx

Removed from v.1.6  
changed lines
  Added in v.1.8


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