--- np2/io/dipsw.c 2005/02/07 14:46:11 1.5 +++ np2/io/dipsw.c 2007/11/11 13:54:14 1.6 @@ -10,17 +10,14 @@ void IOOUTCALL dipsw_w8(UINT port, REG8 value) { UINT8 set; - UINT update; - update = 0; switch(port & 0x0f00) { case 0x0400: if (!(iflags[value] & 0x04)) { set = value & 0xfc; - if ((np2cfg.dipsw[0] ^ set) & 0xfc) { - np2cfg.dipsw[0] &= ~(0xfc); - np2cfg.dipsw[0] |= set; - update |= SYS_UPDATECFG; + if ((pccore.dipsw[0] ^ set) & 0xfc) { + pccore.dipsw[0] &= ~(0xfc); + pccore.dipsw[0] |= set; } } break; @@ -28,10 +25,9 @@ void IOOUTCALL dipsw_w8(UINT port, REG8 case 0x0500: if (!(iflags[value] & 0x04)) { set = value & 0xef; - if ((np2cfg.dipsw[1] ^ set) & 0xef) { - np2cfg.dipsw[1] &= ~(0xef); - np2cfg.dipsw[1] |= set; - update |= SYS_UPDATECFG; + if ((pccore.dipsw[1] ^ set) & 0xef) { + pccore.dipsw[1] &= ~(0xef); + pccore.dipsw[1] |= set; } } break; @@ -39,10 +35,9 @@ void IOOUTCALL dipsw_w8(UINT port, REG8 case 0x0600: if (!(iflags[value] & 0x04)) { set = value & 0x7f; - if ((np2cfg.dipsw[2] ^ set) & 0x7f) { - np2cfg.dipsw[2] &= ~(0x7f); - np2cfg.dipsw[2] |= set; - update |= SYS_UPDATECFG; + if ((pccore.dipsw[2] ^ set) & 0x7f) { + pccore.dipsw[2] &= ~(0x7f); + pccore.dipsw[2] |= set; } } break; @@ -50,15 +45,14 @@ void IOOUTCALL dipsw_w8(UINT port, REG8 case 0x0700: if (!(iflags[value] & 0x04)) { set = (value & 0x20) >> 1; - if ((np2cfg.dipsw[1] ^ set) & 0x10) { - np2cfg.dipsw[1] ^= 0x10; - update |= SYS_UPDATECFG; + if ((pccore.dipsw[1] ^ set) & 0x10) { + pccore.dipsw[1] ^= 0x10; } set = (value >> 2) & 0x03; if (np2cfg.BEEP_VOL != set) { np2cfg.BEEP_VOL = set; beep_setvol(set); - update |= SYS_UPDATECFG; + sysmng_update(SYS_UPDATECFG); } } break; @@ -66,14 +60,12 @@ void IOOUTCALL dipsw_w8(UINT port, REG8 case 0x0e00: if (!(iflags[value] & 0x04)) { set = (value & 0x10) << 3; - if ((np2cfg.dipsw[2] ^ set) & 0x80) { - np2cfg.dipsw[2] ^= 0x80; - update |= SYS_UPDATECFG; + if ((pccore.dipsw[2] ^ set) & 0x80) { + pccore.dipsw[2] ^= 0x80; } } break; } - sysmng_update(update); } REG8 IOINPCALL dipsw_r8(UINT port) { @@ -83,28 +75,28 @@ REG8 IOINPCALL dipsw_r8(UINT port) { ret = 0xff; switch(port & 0x0f00) { case 0x0400: - ret = np2cfg.dipsw[0] & 0xfc; + ret = pccore.dipsw[0] & 0xfc; if (iflags[ret] & 0x04) { ret |= 0x01; } break; case 0x0500: - ret = np2cfg.dipsw[1] & 0xef; + ret = pccore.dipsw[1] & 0xef; if (iflags[ret] & 0x04) { ret |= 0x10; } break; case 0x0600: - ret = np2cfg.dipsw[2] & 0x7f; + ret = pccore.dipsw[2] & 0x7f; if (iflags[ret] & 0x04) { ret |= 0x80; } break; case 0x0700: - ret = ((np2cfg.dipsw[1] & 0x10) << 1) | + ret = ((pccore.dipsw[1] & 0x10) << 1) | ((np2cfg.BEEP_VOL & 0x03) << 2); if (iflags[ret] & 0x04) { ret |= 0x80; @@ -112,7 +104,7 @@ REG8 IOINPCALL dipsw_r8(UINT port) { break; case 0x0e00: - ret = (np2cfg.dipsw[2] & 0x80) >> 3; + ret = (pccore.dipsw[2] & 0x80) >> 3; if (iflags[ret] & 0x04) { ret |= 0x80; }