|
|
| version 1.4, 2004/08/11 12:08:17 | version 1.7, 2004/08/18 17:15:35 |
|---|---|
| Line 38 | Line 38 |
| } | } |
| #define MCR_RETN { \ | #define MCR_RETN { \ |
| Z80_IFF &= ~((1 << IFF_NMI) | (1 << IFF_IRQ)); \ | Z80_IFF &= ~(1 << IFF_NMI); \ |
| MCR_RET \ | MCR_RET \ |
| } | } |
| Line 58 | Line 58 |
| } \ | } \ |
| R_Z80F |= (((tmp ^ (reg)) & (tmp ^ R_Z80HL)) >> 13) & V_FLAG; \ | R_Z80F |= (((tmp ^ (reg)) & (tmp ^ R_Z80HL)) >> 13) & V_FLAG; \ |
| R_Z80F |= ((R_Z80HL ^ tmp ^ (reg)) >> 8) & H_FLAG; \ | R_Z80F |= ((R_Z80HL ^ tmp ^ (reg)) >> 8) & H_FLAG; \ |
| (reg) = (UINT16)tmp; \ | R_Z80HL = (UINT16)tmp; \ |
| } | } |
| #define MCR_RETI { \ | #define MCR_RETI { \ |
| REG8 iff; \ | ievent_eoi(); \ |
| iff = Z80_IFF; \ | |
| if (iff & (1 << IFF_IRQ)) { \ | |
| Z80_IFF = (UINT8)(iff & (~(1 << IFF_IRQ))); \ | |
| if ((!(iff & ((1 << IFF_IFLAG) | (1 << IFF_NMI)))) && \ | |
| (CPU_REQIRQ != 0)) { \ | |
| CPU_BASECLOCK -= CPU_REMCLOCK; \ | |
| CPU_REMCLOCK = 0; \ | |
| } \ | |
| } \ | |
| MCR_RET \ | MCR_RET \ |
| } | } |