From 5d3c3baaa81a77d8ab4285f27f5b45485e48e085 Mon Sep 17 00:00:00 2001 From: win2kgamer <47463859+win2kgamer@users.noreply.github.com> Date: Sun, 15 Feb 2026 19:11:34 -0600 Subject: [PATCH] Intel Monsoon: Improve jumper implementation, BIOS password is no longer disabled --- src/device/phoenix_486_jumper.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/device/phoenix_486_jumper.c b/src/device/phoenix_486_jumper.c index 905af1149..b4300981e 100644 --- a/src/device/phoenix_486_jumper.c +++ b/src/device/phoenix_486_jumper.c @@ -54,8 +54,10 @@ /* Intel Monsoon bit meanings: + Bit 5 = Password enable Bit 4 = Onboard video: 1 = disabled, 0 = enabled Bit 3 = CMOS Setup enable + Bit 2 = CMOS clear: 1 = normal, 0 = clear CMOS */ typedef struct phoenix_486_jumper_t { @@ -63,8 +65,6 @@ typedef struct phoenix_486_jumper_t { uint8_t jumper; } phoenix_486_jumper_t; -#define ENABLE_PHOENIX_486_JUMPER_LOG 1 - #ifdef ENABLE_PHOENIX_486_JUMPER_LOG int phoenix_486_jumper_do_log = ENABLE_PHOENIX_486_JUMPER_LOG; @@ -92,9 +92,11 @@ phoenix_486_jumper_write(UNUSED(uint16_t addr), uint8_t val, void *priv) dev->jumper = val & 0xbf; else if (dev->type == 2) /* PB600 */ dev->jumper = ((val & 0xbf) | 0x02); - else if (dev->type == 3) /* Intel Monsoon */ - dev->jumper = val | 0x08; - else + else if (dev->type == 3) { /* Intel Monsoon */ + dev->jumper = ((val & 0xef) | 0x2c); + if (gfxcard[0] != 0x01) + dev->jumper |= 0x10; + } else dev->jumper = val; } @@ -117,7 +119,7 @@ phoenix_486_jumper_reset(void *priv) else if (dev->type == 2) /* PB600 */ dev->jumper = 0x02; else if (dev->type == 3) { /* Intel Monsoon */ - dev->jumper = 0xef; + dev->jumper = 0x2c; if (gfxcard[0] != 0x01) dev->jumper |= 0x10; } else {