diff --git a/src/chipset/ali1489.c b/src/chipset/ali1489.c index c8e07c657..9738baed3 100644 --- a/src/chipset/ali1489.c +++ b/src/chipset/ali1489.c @@ -197,7 +197,9 @@ ali1489_defaults(ali1489_t *dev) picintc(1 << 10); picintc(1 << 15); +#ifdef OLD_NMI_BEHAVIOR nmi = 0; +#endif smi_line = 0; in_smm = 0; diff --git a/src/chipset/via_pipc.c b/src/chipset/via_pipc.c index 076328a00..a415daa6f 100644 --- a/src/chipset/via_pipc.c +++ b/src/chipset/via_pipc.c @@ -728,8 +728,10 @@ pipc_fmnmi_read(uint16_t addr, void *priv) if (dev->ac97_regs[0][0x48] & 0x01) { if (dev->ac97_regs[0][0x48] & 0x04) smi_line = 0; +#ifdef OLD_NMI_BEHAVIOR else nmi = 0; +#endif } #endif @@ -790,7 +792,7 @@ pipc_fm_write(uint16_t addr, uint8_t val, void *priv) if (dev->ac97_regs[0][0x48] & 0x04) smi_line = 1; else - nmi = 1; + nmi_raise(); } } #else