summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Alex W. Jackson <alex.w.jackson@gmail.com>2015-03-31 22:02:08 -0400
committer Alex W. Jackson <alex.w.jackson@gmail.com>2015-03-31 22:02:08 -0400
commit02c9e215f9c3c5c5d8536e4e8d50dc77271e61b1 (patch)
tree1970a98f52fa5f98f7b8eb89a413c567deb8a75b
parentcb10350dd4141ed5ed3cb1012eb27fadc908f397 (diff)
niyanpai.c: fix banking, remove an additional trampoline (nw)
-rw-r--r--src/mame/drivers/niyanpai.c29
-rw-r--r--src/mame/includes/niyanpai.h1
2 files changed, 9 insertions, 21 deletions
diff --git a/src/mame/drivers/niyanpai.c b/src/mame/drivers/niyanpai.c
index c7dda71326e..735a7b3be11 100644
--- a/src/mame/drivers/niyanpai.c
+++ b/src/mame/drivers/niyanpai.c
@@ -44,11 +44,6 @@ Memo:
#include "includes/niyanpai.h"
-WRITE16_MEMBER(niyanpai_state::sound_w)
-{
- soundlatch_byte_w(space, 0, ((data >> 8) & 0xff));
-}
-
WRITE8_MEMBER(niyanpai_state::soundbank_w)
{
membank("soundbank")->set_entry(data & 0x03);
@@ -68,7 +63,7 @@ DRIVER_INIT_MEMBER(niyanpai_state,niyanpai)
SNDROM[0x0213] = 0x00; // DI -> NOP
// initialize sound rom bank
- membank("soundbank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x8000);
+ membank("soundbank")->configure_entries(0, 3, memregion("audiocpu")->base() + 0x8000, 0x8000);
membank("soundbank")->set_entry(0);
// initialize out coin flag (musobana)
@@ -78,17 +73,11 @@ DRIVER_INIT_MEMBER(niyanpai_state,niyanpai)
READ16_MEMBER(niyanpai_state::dipsw_r)
{
- UINT8 dipsw_a, dipsw_b;
-
- dipsw_a = (((ioport("DSWA")->read() & 0x01) << 7) | ((ioport("DSWA")->read() & 0x02) << 5) |
- ((ioport("DSWA")->read() & 0x04) << 3) | ((ioport("DSWA")->read() & 0x08) << 1) |
- ((ioport("DSWA")->read() & 0x10) >> 1) | ((ioport("DSWA")->read() & 0x20) >> 3) |
- ((ioport("DSWA")->read() & 0x40) >> 5) | ((ioport("DSWA")->read() & 0x80) >> 7));
+ UINT8 dipsw_a = ioport("DSWA")->read();
+ UINT8 dipsw_b = ioport("DSWB")->read();
- dipsw_b = (((ioport("DSWB")->read() & 0x01) << 7) | ((ioport("DSWB")->read() & 0x02) << 5) |
- ((ioport("DSWB")->read() & 0x04) << 3) | ((ioport("DSWB")->read() & 0x08) << 1) |
- ((ioport("DSWB")->read() & 0x10) >> 1) | ((ioport("DSWB")->read() & 0x20) >> 3) |
- ((ioport("DSWB")->read() & 0x40) >> 5) | ((ioport("DSWB")->read() & 0x80) >> 7));
+ dipsw_a = BITSWAP8(dipsw_a,0,1,2,3,4,5,6,7);
+ dipsw_b = BITSWAP8(dipsw_b,0,1,2,3,4,5,6,7);
return ((dipsw_a << 8) | dipsw_b);
}
@@ -153,7 +142,7 @@ static ADDRESS_MAP_START( niyanpai_map, AS_PROGRAM, 16, niyanpai_state )
AM_RANGE(0x0bf800, 0x0bffff) AM_RAM
- AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w)
+ AM_RANGE(0x200000, 0x200001) AM_WRITE8(soundlatch_byte_w, 0xff00)
AM_RANGE(0x200200, 0x200201) AM_WRITENOP // unknown
AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown
@@ -189,7 +178,7 @@ static ADDRESS_MAP_START( musobana_map, AS_PROGRAM, 16, niyanpai_state )
AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0bf800, 0x0bffff) AM_RAM
- AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w)
+ AM_RANGE(0x200000, 0x200001) AM_WRITE8(soundlatch_byte_w, 0xff00)
AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select
AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown
@@ -228,7 +217,7 @@ static ADDRESS_MAP_START( mhhonban_map, AS_PROGRAM, 16, niyanpai_state )
AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0bf000, 0x0bffff) AM_RAM
- AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w)
+ AM_RANGE(0x200000, 0x200001) AM_WRITE8(soundlatch_byte_w, 0xff00)
AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select
AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown
@@ -267,7 +256,7 @@ static ADDRESS_MAP_START( zokumahj_map, AS_PROGRAM, 16, niyanpai_state )
AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM
- AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w)
+ AM_RANGE(0x200000, 0x200001) AM_WRITE8(soundlatch_byte_w, 0xff00)
AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select
AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown
diff --git a/src/mame/includes/niyanpai.h b/src/mame/includes/niyanpai.h
index 24474ee749d..467f269dd8d 100644
--- a/src/mame/includes/niyanpai.h
+++ b/src/mame/includes/niyanpai.h
@@ -58,7 +58,6 @@ public:
UINT8 m_motor_on;
// common
- DECLARE_WRITE16_MEMBER(sound_w);
DECLARE_WRITE8_MEMBER(soundbank_w);
DECLARE_WRITE8_MEMBER(soundlatch_clear_w);
DECLARE_READ16_MEMBER(dipsw_r);