summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/nbmj9195.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nbmj9195.cpp')
-rw-r--r--src/mame/drivers/nbmj9195.cpp817
1 files changed, 426 insertions, 391 deletions
diff --git a/src/mame/drivers/nbmj9195.cpp b/src/mame/drivers/nbmj9195.cpp
index e006a39c325..c8c256eb1cf 100644
--- a/src/mame/drivers/nbmj9195.cpp
+++ b/src/mame/drivers/nbmj9195.cpp
@@ -232,411 +232,444 @@ DRIVER_INIT_MEMBER(nbmj9195_state,nbmj9195)
}
-ADDRESS_MAP_START(nbmj9195_state::sailorws_map)
- AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
- AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mjuraden_map)
- AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
- AM_RANGE(0xf800, 0xffff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::koinomp_map)
- AM_RANGE(0x0000, 0xdfff) AM_ROM
- AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
- AM_RANGE(0xe800, 0xefff) AM_RAM AM_SHARE("nvram")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::ngpgal_map)
- AM_RANGE(0x0000, 0xcfff) AM_ROM
- AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
- AM_RANGE(0xd800, 0xdfff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mscoutm_map)
- AM_RANGE(0x0000, 0xdfff) AM_ROM
- AM_RANGE(0xe000, 0xe5ff) AM_RAM
- AM_RANGE(0xe600, 0xebff) AM_RAM_WRITE(nb22090_palette_w) AM_SHARE("paletteram")
- AM_RANGE(0xec00, 0xf1ff) AM_RAM
- AM_RANGE(0xf200, 0xffff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mjegolf_map)
- AM_RANGE(0x0000, 0xdfff) AM_ROM
- AM_RANGE(0xe000, 0xe5ff) AM_RAM_WRITE(nb22090_palette_w) AM_SHARE("paletteram")
- AM_RANGE(0xe600, 0xebff) AM_RAM
- AM_RANGE(0xec00, 0xf1ff) AM_RAM
- AM_RANGE(0xf200, 0xffff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mjuraden_io_map)
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xb2, 0xb2) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb4, 0xb4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb6, 0xb6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::koinomp_io_map)
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xa0, 0xa1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xa0, 0xaf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xb0, 0xbf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xc0, 0xc0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xc2, 0xc2) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xc4, 0xc4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xc6, 0xc6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
- AM_RANGE(0xcf, 0xcf) AM_MIRROR(0xff00) AM_WRITENOP
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::patimono_io_map)
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
-
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xa4, 0xa4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb0, 0xb8) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mmehyou_io_map)
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xa4, 0xa4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::gal10ren_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xa0, 0xa1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xa0, 0xaf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xb0, 0xbf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xc0, 0xc0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xc8, 0xc8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xd0, 0xd0) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xd8, 0xd8) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::renaiclb_io_map)
- AM_RANGE(0x20, 0x20) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0x24, 0x24) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0x28, 0x28) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0x2c, 0x2c) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xe0, 0xe1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xe0, 0xef) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0xf0, 0xff) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mjlaman_io_map)
- AM_RANGE(0x20, 0x20) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0x22, 0x22) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0x24, 0x24) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0x26, 0x26) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xe0, 0xe1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xe0, 0xef) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xf0, 0xff) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mkeibaou_io_map)
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xa0, 0xa1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xa0, 0xaf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xb0, 0xbf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xd8, 0xd8) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xda, 0xda) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xdc, 0xdc) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xde, 0xde) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::pachiten_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xa0, 0xa1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xa0, 0xaf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xb0, 0xbf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xe0, 0xe0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xe2, 0xe2) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xe4, 0xe4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xe6, 0xe6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::sailorws_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xf0, 0xf0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xf2, 0xf2) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xf4, 0xf4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xf6, 0xf6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::sailorwr_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xf8, 0xf8) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xfa, 0xfa) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xfc, 0xfc) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xfe, 0xfe) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::psailor1_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xf0, 0xf0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xf2, 0xf2) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xf4, 0xf4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xf6, 0xf6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::psailor2_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xa0, 0xa1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xa0, 0xaf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xb0, 0xbf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xe0, 0xe0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xe2, 0xe2) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xe4, 0xe4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xf6, 0xf6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::otatidai_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb8, 0xb8) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::yosimoto_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0x90, 0x90) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0x94, 0x94) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0x98, 0x98) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0x9c, 0x9c) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::yosimotm_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xf0, 0xf0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
- AM_RANGE(0xfc, 0xfc) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xf4, 0xf4) AM_MIRROR(0xff00) AM_NOP
- AM_RANGE(0xf8, 0xf8) AM_MIRROR(0xff00) AM_NOP
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::jituroku_io_map)
- AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-
- AM_RANGE(0xe0, 0xe0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xe8, 0xe8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xf0, 0xf0) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xf8, 0xf8) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::ngpgal_io_map)
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xa4, 0xa4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mjgottsu_io_map)
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xa4, 0xa4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::cmehyou_io_map)
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
- AM_RANGE(0xb4, 0xb4) AM_MIRROR(0xff00) AM_WRITENOP
-
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nbmj9195_state::mjkoiura_io_map)
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xa4, 0xa4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-ADDRESS_MAP_END
+void nbmj9195_state::sailorws_map(address_map &map)
+{
+ map(0x0000, 0xefff).rom();
+ map(0xf000, 0xf1ff).ram().w(this, FUNC(nbmj9195_state::palette_w)).share("paletteram");
+ map(0xf800, 0xffff).ram().share("nvram");
+}
+
+void nbmj9195_state::mjuraden_map(address_map &map)
+{
+ map(0x0000, 0xefff).rom();
+ map(0xf200, 0xf3ff).ram().w(this, FUNC(nbmj9195_state::palette_w)).share("paletteram");
+ map(0xf800, 0xffff).ram();
+}
+
+void nbmj9195_state::koinomp_map(address_map &map)
+{
+ map(0x0000, 0xdfff).rom();
+ map(0xe000, 0xe1ff).ram().w(this, FUNC(nbmj9195_state::palette_w)).share("paletteram");
+ map(0xe800, 0xefff).ram().share("nvram");
+}
+
+void nbmj9195_state::ngpgal_map(address_map &map)
+{
+ map(0x0000, 0xcfff).rom();
+ map(0xd000, 0xd1ff).ram().w(this, FUNC(nbmj9195_state::palette_w)).share("paletteram");
+ map(0xd800, 0xdfff).ram();
+}
+
+void nbmj9195_state::mscoutm_map(address_map &map)
+{
+ map(0x0000, 0xdfff).rom();
+ map(0xe000, 0xe5ff).ram();
+ map(0xe600, 0xebff).ram().w(this, FUNC(nbmj9195_state::nb22090_palette_w)).share("paletteram");
+ map(0xec00, 0xf1ff).ram();
+ map(0xf200, 0xffff).ram();
+}
+
+void nbmj9195_state::mjegolf_map(address_map &map)
+{
+ map(0x0000, 0xdfff).rom();
+ map(0xe000, 0xe5ff).ram().w(this, FUNC(nbmj9195_state::nb22090_palette_w)).share("paletteram");
+ map(0xe600, 0xebff).ram();
+ map(0xec00, 0xf1ff).ram();
+ map(0xf200, 0xffff).ram();
+}
+
+void nbmj9195_state::mjuraden_io_map(address_map &map)
+{
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xb0, 0xb0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xb2, 0xb2).mirror(0xff00).nopw();
+ map(0xb4, 0xb4).mirror(0xff00).nopw();
+ map(0xb6, 0xb6).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::koinomp_io_map(address_map &map)
+{
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xa0, 0xa1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xa0, 0xaf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xb0, 0xbf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xc0, 0xc0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xc2, 0xc2).mirror(0xff00).nopw();
+ map(0xc4, 0xc4).mirror(0xff00).nopw();
+ map(0xc6, 0xc6).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+ map(0xcf, 0xcf).mirror(0xff00).nopw();
+}
+
+void nbmj9195_state::patimono_io_map(address_map &map)
+{
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+ map(0xa0, 0xa0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xa4, 0xa4).mirror(0xff00).nopw();
+ map(0xa8, 0xa8).mirror(0xff00).nopw();
+ map(0xb0, 0xb8).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+}
+
+void nbmj9195_state::mmehyou_io_map(address_map &map)
+{
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xa0, 0xa0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xa4, 0xa4).mirror(0xff00).nopw();
+ map(0xa8, 0xa8).mirror(0xff00).nopw();
+ map(0xb0, 0xb0).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::gal10ren_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xa0, 0xa1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xa0, 0xaf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xb0, 0xbf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xc0, 0xc0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xc8, 0xc8).mirror(0xff00).nopw();
+ map(0xd0, 0xd0).mirror(0xff00).nopw();
+ map(0xd8, 0xd8).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::renaiclb_io_map(address_map &map)
+{
+ map(0x20, 0x20).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0x24, 0x24).mirror(0xff00).nopw();
+ map(0x28, 0x28).mirror(0xff00).nopw();
+ map(0x2c, 0x2c).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xe0, 0xe1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xe0, 0xef).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0xf0, 0xff).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+}
+
+void nbmj9195_state::mjlaman_io_map(address_map &map)
+{
+ map(0x20, 0x20).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0x22, 0x22).mirror(0xff00).nopw();
+ map(0x24, 0x24).mirror(0xff00).nopw();
+ map(0x26, 0x26).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xe0, 0xe1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xe0, 0xef).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xf0, 0xff).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+}
+
+void nbmj9195_state::mkeibaou_io_map(address_map &map)
+{
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xa0, 0xa1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xa0, 0xaf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xb0, 0xbf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xd8, 0xd8).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xda, 0xda).mirror(0xff00).nopw();
+ map(0xdc, 0xdc).mirror(0xff00).nopw();
+ map(0xde, 0xde).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::pachiten_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xa0, 0xa1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xa0, 0xaf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xb0, 0xbf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xe0, 0xe0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xe2, 0xe2).mirror(0xff00).nopw();
+ map(0xe4, 0xe4).mirror(0xff00).nopw();
+ map(0xe6, 0xe6).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::sailorws_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xf0, 0xf0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xf2, 0xf2).mirror(0xff00).nopw();
+ map(0xf4, 0xf4).mirror(0xff00).nopw();
+ map(0xf6, 0xf6).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::sailorwr_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xf8, 0xf8).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xfa, 0xfa).mirror(0xff00).nopw();
+ map(0xfc, 0xfc).mirror(0xff00).nopw();
+ map(0xfe, 0xfe).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::psailor1_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xf0, 0xf0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xf2, 0xf2).mirror(0xff00).nopw();
+ map(0xf4, 0xf4).mirror(0xff00).nopw();
+ map(0xf6, 0xf6).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::psailor2_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xa0, 0xa1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xa0, 0xaf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xb0, 0xbf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xe0, 0xe0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xe2, 0xe2).mirror(0xff00).nopw();
+ map(0xe4, 0xe4).mirror(0xff00).nopw();
+ map(0xf6, 0xf6).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::otatidai_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xa0, 0xa0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xa8, 0xa8).mirror(0xff00).nopw();
+ map(0xb0, 0xb0).mirror(0xff00).nopw();
+ map(0xb8, 0xb8).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::yosimoto_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0x90, 0x90).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0x94, 0x94).mirror(0xff00).nopw();
+ map(0x98, 0x98).mirror(0xff00).nopw();
+ map(0x9c, 0x9c).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+}
+
+void nbmj9195_state::yosimotm_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xf0, 0xf0).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+ map(0xfc, 0xfc).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xf4, 0xf4).mirror(0xff00).noprw();
+ map(0xf8, 0xf8).mirror(0xff00).noprw();
+}
+
+void nbmj9195_state::jituroku_io_map(address_map &map)
+{
+ map(0x60, 0x61).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x60, 0x6f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x70, 0x7f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+
+ map(0xe0, 0xe0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xe8, 0xe8).mirror(0xff00).nopw();
+ map(0xf0, 0xf0).mirror(0xff00).nopw();
+ map(0xf8, 0xf8).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::ngpgal_io_map(address_map &map)
+{
+ map(0xa0, 0xa0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xa4, 0xa4).mirror(0xff00).nopw();
+ map(0xa8, 0xa8).mirror(0xff00).nopw();
+ map(0xb0, 0xb0).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+}
+
+void nbmj9195_state::mjgottsu_io_map(address_map &map)
+{
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xa0, 0xa0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xa4, 0xa4).mirror(0xff00).nopw();
+ map(0xa8, 0xa8).mirror(0xff00).nopw();
+ map(0xb0, 0xb0).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
+
+void nbmj9195_state::cmehyou_io_map(address_map &map)
+{
+ map(0xa0, 0xa0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xa8, 0xa8).mirror(0xff00).nopw();
+ map(0xb0, 0xb0).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+ map(0xb4, 0xb4).mirror(0xff00).nopw();
+
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+}
+
+void nbmj9195_state::mjkoiura_io_map(address_map &map)
+{
+ map(0x80, 0x81).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0x80, 0x8f).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0x90, 0x9f).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+
+ map(0xa0, 0xa0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xa4, 0xa4).mirror(0xff00).nopw();
+ map(0xa8, 0xa8).mirror(0xff00).nopw();
+ map(0xb0, 0xb0).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+}
-ADDRESS_MAP_START(nbmj9195_state::mkoiuraa_io_map)
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xa4, 0xa4) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
- AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
-
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
-ADDRESS_MAP_END
+void nbmj9195_state::mkoiuraa_io_map(address_map &map)
+{
+ map(0xa0, 0xa0).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xa4, 0xa4).mirror(0xff00).nopw();
+ map(0xa8, 0xa8).mirror(0xff00).nopw();
+ map(0xb0, 0xb0).mirror(0xff00).w(this, FUNC(nbmj9195_state::inputportsel_w));
+
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+}
-ADDRESS_MAP_START(nbmj9195_state::mscoutm_io_map)
- AM_RANGE(0x80, 0x80) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_1_r)
- AM_RANGE(0x82, 0x82) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_0_r)
- AM_RANGE(0x84, 0x84) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
+void nbmj9195_state::mscoutm_io_map(address_map &map)
+{
+ map(0x80, 0x80).mirror(0xff00).r(this, FUNC(nbmj9195_state::mscoutm_dipsw_1_r));
+ map(0x82, 0x82).mirror(0xff00).r(this, FUNC(nbmj9195_state::mscoutm_dipsw_0_r));
+ map(0x84, 0x84).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- AM_RANGE(0xa0, 0xa6) AM_MIRROR(0xff00) AM_WRITENOP // nb22090 param ?
+ map(0xa0, 0xa6).mirror(0xff00).nopw(); // nb22090 param ?
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
- AM_RANGE(0xe0, 0xe1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xe0, 0xef) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
+ map(0xe0, 0xe1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xe0, 0xef).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
- AM_RANGE(0xf0, 0xff) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-ADDRESS_MAP_END
+ map(0xf0, 0xff).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+}
-ADDRESS_MAP_START(nbmj9195_state::imekura_io_map)
- AM_RANGE(0x80, 0x80) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_1_r)
- AM_RANGE(0x82, 0x82) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_0_r)
- AM_RANGE(0x84, 0x84) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
+void nbmj9195_state::imekura_io_map(address_map &map)
+{
+ map(0x80, 0x80).mirror(0xff00).r(this, FUNC(nbmj9195_state::mscoutm_dipsw_1_r));
+ map(0x82, 0x82).mirror(0xff00).r(this, FUNC(nbmj9195_state::mscoutm_dipsw_0_r));
+ map(0x84, 0x84).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- AM_RANGE(0xb0, 0xb6) AM_MIRROR(0xff00) AM_WRITENOP // nb22090 param ?
+ map(0xb0, 0xb6).mirror(0xff00).nopw(); // nb22090 param ?
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
- AM_RANGE(0xe0, 0xe1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xe0, 0xef) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
- AM_RANGE(0xf0, 0xff) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
-ADDRESS_MAP_END
+ map(0xe0, 0xe1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xe0, 0xef).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
+ map(0xf0, 0xff).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
+}
-ADDRESS_MAP_START(nbmj9195_state::mjegolf_io_map)
- AM_RANGE(0x80, 0x86) AM_MIRROR(0xff00) AM_WRITENOP // nb22090 param ?
+void nbmj9195_state::mjegolf_io_map(address_map &map)
+{
+ map(0x80, 0x86).mirror(0xff00).nopw(); // nb22090 param ?
- AM_RANGE(0xa0, 0xa1) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
- AM_RANGE(0xa0, 0xaf) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
- AM_RANGE(0xb0, 0xbf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
+ map(0xa0, 0xa1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_0_r));
+ map(0xa0, 0xaf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_0_w));
+ map(0xb0, 0xbf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_0_w));
- AM_RANGE(0xc0, 0xc1) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
- AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
+ map(0xc0, 0xc1).mirror(0xff00).r(this, FUNC(nbmj9195_state::blitter_1_r));
+ map(0xc0, 0xcf).mirror(0xff00).w(this, FUNC(nbmj9195_state::blitter_1_w));
- AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
+ map(0xd0, 0xdf).mirror(0xff00).w(this, FUNC(nbmj9195_state::clut_1_w));
- AM_RANGE(0xe0, 0xe0) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_1_r)
- AM_RANGE(0xe2, 0xe2) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_0_r)
- AM_RANGE(0xe4, 0xe4) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
-ADDRESS_MAP_END
+ map(0xe0, 0xe0).mirror(0xff00).r(this, FUNC(nbmj9195_state::mscoutm_dipsw_1_r));
+ map(0xe2, 0xe2).mirror(0xff00).r(this, FUNC(nbmj9195_state::mscoutm_dipsw_0_r));
+ map(0xe4, 0xe4).mirror(0xff00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+}
-ADDRESS_MAP_START(nbmj9195_state::sailorws_sound_map)
- AM_RANGE(0x0000, 0x77ff) AM_ROM
- AM_RANGE(0x7800, 0x7fff) AM_RAM
- AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank")
-ADDRESS_MAP_END
+void nbmj9195_state::sailorws_sound_map(address_map &map)
+{
+ map(0x0000, 0x77ff).rom();
+ map(0x7800, 0x7fff).ram();
+ map(0x8000, 0xffff).bankr("soundbank");
+}
-ADDRESS_MAP_START(nbmj9195_state::sailorws_sound_io_map)
- AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_DEVWRITE("ymsnd", ym3812_device, write)
-ADDRESS_MAP_END
+void nbmj9195_state::sailorws_sound_io_map(address_map &map)
+{
+ map(0x80, 0x81).mirror(0xff00).w("ymsnd", FUNC(ym3812_device::write));
+}
@@ -645,19 +678,21 @@ ADDRESS_MAP_END
TODO: it probably doesn't belong in here. Both CPUs are certainly tmpz84c011 tho ...
*/
-ADDRESS_MAP_START(nbmj9195_state::shabdama_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM
+void nbmj9195_state::shabdama_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0xe000, 0xe7ff).ram();
// AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
// AM_RANGE(0xd800, 0xdfff) AM_RAM
-ADDRESS_MAP_END
+}
-ADDRESS_MAP_START(nbmj9195_state::shabdama_io_map)
+void nbmj9195_state::shabdama_io_map(address_map &map)
+{
// ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x60, 0x61) AM_READ(blitter_0_r)
// AM_RANGE(0x60, 0x6f) AM_WRITE(blitter_0_w)
// AM_RANGE(0x70, 0x7f) AM_WRITE(clut_0_w)
-ADDRESS_MAP_END
+}
/********************************************************************************
These Nichibutsu Mahjong games use two different but very similar control ports: