|
|
| version 1.3, 2003/12/08 00:55:32 | version 1.5, 2005/02/07 14:46:11 |
|---|---|
| Line 9 | Line 9 |
| void IOOUTCALL dipsw_w8(UINT port, REG8 value) { | void IOOUTCALL dipsw_w8(UINT port, REG8 value) { |
| BYTE set; | UINT8 set; |
| UINT update; | UINT update; |
| update = 0; | update = 0; |
| switch(port & 0x0f00) { | switch(port & 0x0f00) { |
| case 0x0400: | case 0x0400: |
| if (!(iflags[value] & 0x04)) { | if (!(iflags[value] & 0x04)) { |
| set = (value ^ 0x04) & 0xbc; | set = value & 0xfc; |
| if ((np2cfg.dipsw[0] ^ set) & 0xbc) { | if ((np2cfg.dipsw[0] ^ set) & 0xfc) { |
| np2cfg.dipsw[0] &= ~(0xbc); | np2cfg.dipsw[0] &= ~(0xfc); |
| np2cfg.dipsw[0] |= set; | np2cfg.dipsw[0] |= set; |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| } | } |
| Line 27 void IOOUTCALL dipsw_w8(UINT port, REG8 | Line 27 void IOOUTCALL dipsw_w8(UINT port, REG8 |
| case 0x0500: | case 0x0500: |
| if (!(iflags[value] & 0x04)) { | if (!(iflags[value] & 0x04)) { |
| set = value & 0xaf; | set = value & 0xef; |
| if ((np2cfg.dipsw[1] ^ set) & 0xaf) { | if ((np2cfg.dipsw[1] ^ set) & 0xef) { |
| np2cfg.dipsw[1] &= ~(0xaf); | np2cfg.dipsw[1] &= ~(0xef); |
| np2cfg.dipsw[1] |= set; | np2cfg.dipsw[1] |= set; |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| } | } |
| Line 38 void IOOUTCALL dipsw_w8(UINT port, REG8 | Line 38 void IOOUTCALL dipsw_w8(UINT port, REG8 |
| case 0x0600: | case 0x0600: |
| if (!(iflags[value] & 0x04)) { | if (!(iflags[value] & 0x04)) { |
| set = (value ^ 0x08) & 0x3f; | set = value & 0x7f; |
| if ((np2cfg.dipsw[2] ^ set) & 0x3f) { | if ((np2cfg.dipsw[2] ^ set) & 0x7f) { |
| np2cfg.dipsw[2] &= ~(0x3f); | np2cfg.dipsw[2] &= ~(0x7f); |
| np2cfg.dipsw[2] |= set; | np2cfg.dipsw[2] |= set; |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| } | } |
| Line 83 REG8 IOINPCALL dipsw_r8(UINT port) { | Line 83 REG8 IOINPCALL dipsw_r8(UINT port) { |
| ret = 0xff; | ret = 0xff; |
| switch(port & 0x0f00) { | switch(port & 0x0f00) { |
| case 0x0400: | case 0x0400: |
| ret = (np2cfg.dipsw[0] ^ 0x04) & 0xbc; | ret = np2cfg.dipsw[0] & 0xfc; |
| if (iflags[ret] & 0x04) { | if (iflags[ret] & 0x04) { |
| ret |= 0x01; | ret |= 0x01; |
| } | } |
| break; | break; |
| case 0x0500: | case 0x0500: |
| ret = np2cfg.dipsw[1] & 0xaf; | ret = np2cfg.dipsw[1] & 0xef; |
| if (iflags[ret] & 0x04) { | if (iflags[ret] & 0x04) { |
| ret |= 0x10; | ret |= 0x10; |
| } | } |
| break; | break; |
| case 0x0600: | case 0x0600: |
| ret = (np2cfg.dipsw[2] ^ 0x02) & 0x33; | ret = np2cfg.dipsw[2] & 0x7f; |
| if (iflags[ret] & 0x04) { | if (iflags[ret] & 0x04) { |
| ret |= 0x80; | ret |= 0x80; |
| } | } |