Disable NMI masking on PS/2 MCA machines - fixes '103' POST error.

This commit is contained in:
SarahW 2017-12-07 22:26:19 +00:00
commit 6555ecd3e3
2 changed files with 10 additions and 1 deletions

View file

@ -414,6 +414,8 @@ static void ps2_common_init()
pic2_init();
pit_ps2_init();
nmi_mask = 0x80;
}
void ps2_model_50_init()

View file

@ -7,6 +7,7 @@
#include "rtc.h"
#include "paths.h"
#include "config.h"
#include "model.h"
#include "nmi.h"
int oldromset;
@ -201,7 +202,13 @@ void writenvr(uint16_t addr, uint8_t val, void *priv)
else
{
nvraddr=val&nvrmask;
nmi_mask = ~val & 0x80;
/*PS/2 BIOSes will disable NMIs and expect the watchdog timer to still be able
to fire them. I suspect the watchdog is exempt from NMI masking. Currently NMIs
are always enabled for PS/2 machines - this would mean that other peripherals
could fire NMIs regardless of the mask state, but as there aren't any emulated
MCA peripherals that do this it's currently a moot point.*/
if (!(models[model].flags & MODEL_MCA))
nmi_mask = ~val & 0x80;
}
}