|
|
| version 1.4, 2004/08/11 12:08:17 | version 1.5, 2004/08/14 12:16:18 |
|---|---|
| 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 62 | Line 62 |
| } | } |
| #define MCR_RETI { \ | #define MCR_RETI { \ |
| REG8 iff; \ | CPU_IRQ = CPU_IRQ & (CPU_IRQ - 1); \ |
| iff = Z80_IFF; \ | if ((!(Z80_IFF & ((1 << IFF_IFLAG) | (1 << IFF_NMI)))) && \ |
| if (iff & (1 << IFF_IRQ)) { \ | (CPU_REQIRQ != 0)) { \ |
| Z80_IFF = (UINT8)(iff & (~(1 << IFF_IRQ))); \ | CPU_BASECLOCK -= CPU_REMCLOCK; \ |
| if ((!(iff & ((1 << IFF_IFLAG) | (1 << IFF_NMI)))) && \ | CPU_REMCLOCK = 0; \ |
| (CPU_REQIRQ != 0)) { \ | |
| CPU_BASECLOCK -= CPU_REMCLOCK; \ | |
| CPU_REMCLOCK = 0; \ | |
| } \ | |
| } \ | } \ |
| MCR_RET \ | MCR_RET \ |
| } | } |