trunk/src/emu/cpu/upd7810/upd7810.c
r241719 | r241720 | |
709 | 709 | return; |
710 | 710 | |
711 | 711 | /* check the interrupts in priority sequence */ |
| 712 | if (IRR & INTNMI) |
| 713 | { |
| 714 | /* Nonmaskable interrupt */ |
| 715 | irqline = INPUT_LINE_NMI; |
| 716 | vector = 0x0004; |
| 717 | IRR &= ~INTNMI; |
| 718 | } |
| 719 | else |
712 | 720 | if ((IRR & INTFT0) && 0 == (MKL & 0x02)) |
713 | 721 | { |
714 | 722 | vector = 0x0008; |
r241719 | r241720 | |
1968 | 1976 | { |
1969 | 1977 | /* no nested NMIs ? */ |
1970 | 1978 | // if (0 == (IRR & INTNMI)) |
1971 | | { |
1972 | | IRR |= INTNMI; |
1973 | | SP--; |
1974 | | WM( SP, PSW ); |
1975 | | SP--; |
1976 | | WM( SP, PCH ); |
1977 | | SP--; |
1978 | | WM( SP, PCL ); |
1979 | | IFF = 0; |
1980 | | PSW &= ~(SK|L0|L1); |
1981 | | PC = 0x0004; |
1982 | | } |
| 1979 | IRR |= INTNMI; |
1983 | 1980 | } |
1984 | 1981 | else |
1985 | 1982 | if (irqline == UPD7810_INTF1) |